Git Fetch vs Pull:不同的结果,不确定为什么

swt*_*t83 5 git

我通常做一个git fetch origin跟随a git merge remotes/origin/master,但得到了Already up-to-date回应.我知道这不是真的.一个git pull origin运行良好和带来的变化.

我做错了什么?

GoZ*_*ner 1

当你这样做时:

$ git fetch origin
Run Code Online (Sandbox Code Playgroud)

你没有得到 origin/master 分支。假设您正在获取来源/其他。然后当你这样做时:

$ git merge remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

因为 origin/master 上没有任何新内容(你从未获取过它),所以没有任何内容可以合并。你已经“已经是最新的”了。如您所知,当您这样做时:

$ git pull origin
Run Code Online (Sandbox Code Playgroud)

需要执行合并,因为“拉”执行了一次提取(来源/其他),然后进行了合并(来源/其他)。您应该能够看到哪些分支配置为“拉”和“推”

$ git remote show origin
Run Code Online (Sandbox Code Playgroud)

修复它:

$ git checkout master
$ git branch --track master origin/master
Run Code Online (Sandbox Code Playgroud)