[OpenStack-Infra] Using local master vs. using origin/master
Birdsall, Dave
dave.birdsall at hp.com
Mon Nov 11 16:55:54 UTC 2013
Hi,
I'm working on a new project that is moving towards using a clone of the OpenStack infrastructure to manage its source and continuous integration.
We are newbies to git (we are used to svn), and have a question about master branches.
On https://wiki.openstack.org/wiki/GerritWorkflow, it describes cloning a git repository, and keeping the local master up-to-date with the origin master. They then create their local branches off of that local master (e.g., using git checkout -b <branch>), and check in locally then submit changes to gerrit via git review.
One of our engineers asks:
"Why should we advise people to keep their master branch as a copy of the master branch in gerrit/github, when they already have an exact copy of it? The remote branch is origin/master. We should just have people branch directly from that rather than merge it onto their own master, which might have other changes.
git fetch origin # gets the code, no need to merge it
git checkout -b <branch> origin/master # branch from official master, not my local master
Same thing works when updating existing branch:
get fetch --all
git rebase origin/master
This seems a more straight-forward way of working, rather than pulling to the master branch and then branching from there."
So, we are wondering, why does OpenStack not use the origin/master branch directly? I'm wondering if there are implications for how gerrit works? Or perhaps it makes a local developer repository more tightly coupled to the central repository somehow?
What are your thoughts?
Thanks and kind regards,
Dave
More information about the OpenStack-Infra
mailing list