[Lustre-devel] git pull --rebase
Christopher J. Morrone
morrone2 at llnl.gov
Tue Sep 28 17:38:26 PDT 2010
I've noticed that lustre developers may not be aware of the "git pull
In the git history, there are frequently little forks and merges that
can be avoided. For instance, around many of the tags on master: one
person will create the tag and push it to prime, meanwhile someone else
has created a couple of commits on their local branch. When they try to
push to prime, they probably get a reject message because their local
copy is out of date. To resolve, they do "git pull", which results in a
merge, then "git push".
This results in the little forks and "Merge branch 'master' of
git.lustre.org:prime/lustre" commits" in the history. At least I think
that is how it happens.
This can be avoided by using "git pull --rebase" when you want to bring
your local branch up to date with prime. Where as "git pull"
"git pull --rebase" more-or-less does:
Its a little more complicated than that under the covers, but
essentially it just temporarily removes your local commits,
fast-forwards your local branch to catch up with the remote branch, and
then replays the commits.
It is not a big deal, but using --rebase would keep the history a little
More information about the lustre-devel