git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git pull versus fetch/merge

From
RHRene 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 upstream
with "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.
Next: Björn Steinbrink
Message 1 of 8 in “git pull versus fetch/merge”
  1. Rene HermanJul 21, 2008
  2. Björn SteinbrinkJul 21, 2008
  3. Rene HermanJul 21, 2008
  4. Jeff KingJul 21, 2008
  5. Jeff KingJul 21, 2008
  6. Rene HermanJul 21, 2008
  7. Björn SteinbrinkJul 21, 2008
  8. Rene HermanJul 21, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.