Ah, so fetch is an operation on the entire repository and merge is an
operation on a specific branch? So you're say that 'pull'ing each
branch is not necessary because the 'fetch' in 'pull's fetch+merge is
redundant. Is that correct?
I also don't understand why this is a deficient approach? If each
branch is for a bug fix, then wouldn't it make sense to want to be
able to work with a branch that has ALL of the bugs fixed?
Thanks for your help so far!
On Aug 13, 11:31 am, Konstantin Khomoutov <khomou...@gmail.com> wrote:
> On Aug 13, 5:12 am, David Doria <daviddo...@gmail.com> wrote:
> [...]> Then when I update something in Project1, I just do a
> > |[dor...@localhost AllProjects]$ git pull origin Project1
> > and AllProjects is now up to date.
> It's not clear why you need to pull each branch. Note that pull does
> fetch + merge, so each pull makes Git access the remote and ask for
> changes. Hence doing multiple pulls in a row would only be sensible if
> each of your "ProjectN" branches is hosted in its own remote
> From your last example, it's appears to not be the case, so you should
> probably do one fetch followed by multiple merges:
> $ git fetch origin
> $ git checkout All
> $ git merge origin/Project1
> $ git merge origin/Project2
> > Is there any standard way to make a "script" to pull from a whole
> > bunch of projects? Or should I just make a bash script with
> > git pull origin Project1
> > git pull origin Project2
> > etc
> > ?
> To me, it appears that if you want such automation, something is
> wrong. Having N parallel branches to develop N features and/or fix
> bugs is perfectly OK, but having a need to periodically merge them
> _all at once_ appears to be a deficient approach. Usually you should
> be careful when doing each merge except for no-brainer fast-forwarding
> cases, and in your setup fast-forwards should be rare.
> At least, if you will decide to write a shell script doing multiple
> merges in a row, start it with
> set -e
> to make it crash as soon as the current merge command fails due to
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to
For more options, visit this group at