git pull versus fetch/merge
- From
- Rene Herman <rene.herman@keyaccess.nl>
- Date
- Jul 21, 2008, 09:11 UTC
- Message-ID
- <488452D6.1060508@keyaccess.nl>
Good day.
A while ago I was here asking about "git pull" versus "git merge" for local branches -- now I see a difference for remote ones that I'm not sure should be there.
I gathered before that "git pull <remote> <branch>" should basically be shorthand for "git fetch <remote>, git merge <remote>/<branch>". Is that correct?
I'm seeing a problem I believe with a specific repository:
rene@7ixe4:~/src/linux/7ixe4$ git remote show tiwai
* remote tiwai
URL: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Tracked remote branches
devel dma-fix for-linus master upstreamwith "git pull tiwai devel" everything goes well:
rene@7ixe4:~/src/linux/7ixe4$ git status # On branch master nothing to commit (working directory clean) rene@7ixe4:~/src/linux/7ixe4$ git branch tmp0 v2.6.26 rene@7ixe4:~/src/linux/7ixe4$ git branch tmp1 v2.6.26 rene@7ixe4:~/src/linux/7ixe4$ git checkout tmp0 Switched to branch "tmp0" rene@7ixe4:~/src/linux/7ixe4$ git pull tiwai devel Updating bce7f79..e0bf09b Fast forward Documentation/sound/alsa/ALSA-Configuration.txt | 17 +- [ ... ]
and I get a clean merge. On the other hand, if I try to do this with a fetch/merge, I get:
rene@7ixe4:~/src/linux/7ixe4$ git checkout tmp1 Switched to branch "tmp1" rene@7ixe4:~/src/linux/7ixe4$ git fetch tiwai From git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 ! [rejected] devel -> tiwai/devel (non fast forward) ! [rejected] dma-fix -> tiwai/dma-fix (non fast forward) ! [rejected] master -> tiwai/master (non fast forward) rene@7ixe4:~/src/linux/7ixe4$ git merge tiwai/devel Auto-merged sound/pci/ac97/ac97_patch.c Auto-merged sound/pci/emu10k1/emu10k1_main.c Auto-merged sound/pci/hda/patch_analog.c Auto-merged sound/pci/hda/patch_realtek.c CONFLICT (content): Merge conflict in sound/pci/hda/patch_realtek.c Auto-merged sound/pci/hda/patch_sigmatel.c Automatic merge failed; fix conflicts and then commit the result.
and me no happy...
It probably has something to do with that " ! [rejected]" but what is that about? Is the repo bad? (and if so, I suspect owner will want to know how to avoid it in the future).
And if it is bad, should I be seeing something with the pull method also? Moreover... can I now trust my tmp0 branch?
Rene.