On  4 Sep 2011, h...@pansensack.de wrote:
> On Saturday 03 September 2011, Bill Pringlemeir wrote:
>> I have been grappling with git for some time. People keep saying
>> that it has different 'models', but I could never find any sort of
>> discussion of what these models are [a high level overview].

> What these people mean by "models" is the different organizational ways
> in which new code changes propagate from the original developer to the 
> other developers and eventually into the product. These models are 
> usually named after structures from graph theory.

Well, that is one thing.  Here is another,
 
 http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html

Also there is a model where you don't 'push' or 'pull'.

 http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html 
 http://www.kernel.org/pub/software/scm/git/docs/git-send-email.html

>> Anyways, there are many new/foreign commands with git, but I think
>> the 'rebase' concept is an important new tool.

> Rebasing means automatically rewriting the latest part of your commit 
> history so that it is based on a different parent commit. This is 
> necessary to avoid conflicts when you pull from an integrator who changed
> your commits, and it is also a nice tool to make your history look 
> cleaner before you share it. But is has not that much to do with 
> Raphael's particular problem.

Are you sure?  If he is working on DOVE changes (say a branch), wouldn't
he want to rebase with the 'master' so he could see how the DOVE changes
are integrating with whatever was pushed to the 'master'?  I think this
is something that will change his 'sandbox' concept.  Also, his 'DOVE'
branch wouldn't have to be pushed/pulled to the origin (master remote
server).  He can merge the DOVE branch to the master branch when he is
ready to integrate and push/pull to the origin server.  Ie, with git,
you can selectively push/pull individual branches to the origin repo.

Here is what I was proposing,

 # Create sandbox
 git fetch ...
 git branch dove
 
 # Work in sandbox
 ... do work.
 git commit .
 
 # Update from main branch.
 git branch master # switch back to master.
 git pull origin
 git branch dove
 git rebase master # dove branch updated with master changes

 # Do more work
 ... more work.
 git commit .      # dove feature complete, ready for wide release.

 # Move branch to wide release.
 git branch master
 git merge dove
 git push          # or whatever the update stuff is. 

I am not a git guru, so maybe something is wrong.

For what it is worth,
Bill Pringlemeir.



------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
gtk-gnutella-devel mailing list
gtk-gnutella-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to