[Biopython-dev] How are people doing their git merges from the trunk?

Eric Talevich eric.talevich at gmail.com
Thu Apr 23 18:54:02 EDT 2009


On Thu, Apr 23, 2009 at 12:34 PM, Peter <biopython at maubp.freeserve.co.uk>wrote:

>
> I decided that I would (initially at least) treat my master branch as
> a copy of the master branch, and not commit local changes to this
> branch.  Instead I periodically grab the latest commits from the
> master using the commands:


I think this is the recommended way to do it. I read a thread where
Mercurial gurus recommended keeping a clean clone of the upstream
repository, and never committing to that clone. Git seems to have a cleaner
version of this with in-place branches.

After a few bad incidents with git-rebase, I resolved to keep 'master' in
sync with the biopython trunk, and use new named branches for all
modifications. The workflow is:

git checkout master
git pull origin    # if I've pushed commits from a different computer
recently
git pull upstream master   # upstream is the remote biopython/biopython
git push origin master
git checkout phyloxml    # a local branch
git merge master
# hack, commit, repeat
# rebasing commits made in this session on this branch is still safe
git push origin phyloxml


This means the github network diagram only advances by one step, even
> if the operation combined 10s of individual commits (which are still
> shown individually on my history on github).
>
>
I think mine shows up as multiple dots, and I don't use cherry-pick. Pulling
from upstream on the master branch always results in a fast-forward, though.


More information about the Biopython-dev mailing list