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
> repository.
> 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
> conflicts.

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 

Reply via email to