[Phpmyadmin-devel] GSoC - working with Git

Michal Čihař michal at cihar.com
Mon May 10 16:53:24 CEST 2010


Hi

Dne Mon, 10 May 2010 06:00:39 -0400
Marc Delisle <marc at infomarc.info> napsal(a):

> Piotr Przybylski a écrit :
> > Hi,
> > 
> > I want to determine the proper way to work with Git before I break my
> > local repository or overly complicate something simple. As I
> > understand, the development of projects is to take place in our own
> > repositories, preferably push mode repositories made here -
> > http://repo.or.cz/regproj.cgi?fork=phpmyadmin.git .
> > 
> > Currently I have a copy of
> > ssh://crackpl@phpmyadmin.git.sourceforge.net/gitroot/phpmyadmin/phpmyadmin
> > and if possible, I would like to configure it so that I will not have
> > to pull ~150 MB over my ADSL again. After looking at the Wiki, I came
> > up with these commands:

The commits are same for all repositories, so they are shared. However
if you prefer to have another working copy for this repository, you can
use --reference parameter to git clone to reuse existing copy of the
main repository.

> > 1. git remote add my-repo git://repo.or.cz/phpmyadmin/my-gsoc-fork.git
> 
> Piotr,
> the wiki said to use your nick name as a repository name on repo.or.cz.
> Look at the existing forks:
> http://repo.or.cz/w/phpmyadmin.git/forks
> 
> But you are a special case because you already are a team member. I
> wonder if we should treat you as a team member or as a student...

In this case I'd prefer to have same way for all students.

> > 2. git remote update my-repo
> > 3. git checkout my-repo/master

You should create local branch where you will work:

git brach --tracking gsoc my-repo/master

Then:

git checkout gsoc

(where gsoc can be replaced by any name you prefer for local branch)

> > 3. working on my code
> > 4. commit
> > 5. push (pushes to my repository)
> > 
> > Now, to merge main branch with my code I need to update it:
> > 6. git checkout origin/master
> 
> I think this should be
> git checkout master

Right.

> > 7. git pull
> > Switch to mine branch and merge:
> > 8. git checkout my-repo/master
> > 9. git merge origin/master
> > 
> > Did I get it right?
> > 
> I think that "git rebase origin/master" would keep the history of your
> own branch.

Yes, this way you can get rid of the merge commits. On the other say it
is not a good thing to do on already published changesets, because by
this you effectively change your history and it is harder for anybody
else to base on your repository.

-- 
	Michal Čihař | http://cihar.com | http://blog.cihar.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20100510/b3a68f65/attachment.sig>


More information about the Developers mailing list