我很可能在这里遗漏了一些东西。
为什么
git fetch origin master
输出
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From https://github.com/groupschoof/PhyloFun
* branch master -> FETCH_HEAD
以及随后的
git merge origin/master
给出输出
Already up-to-date.
虽然
git pull origin master
确实
From https://github.com/groupschoof/PhyloFun
* branch master -> FETCH_HEAD
Updating c6bd22b..234cd22
Fast-forward
R/geneOntologySQL.R | 77 ++++++++++[rest of line omitted]
1 file changed, 30 insertions(+), 47 deletions(-)
因此,简而言之,为什么git pull origin master
会触发已提取补丁的合并,而合并后的git fetch origin master
和后续git merge origin/master
却没有?
对于启蒙,我将非常感激!
干杯!
答案 0 :(得分:0)
因此,简而言之,为什么
git pull origin master
会触发已提取补丁的合并,而合并后的git fetch origin master
和后续git merge origin/master
却没有?
首先,自git 1.8.4起,除了origin/master
之外,git fetch将始终更新FETCH_HEAD
:请参阅" git fetch
, FETCH_HEAD
and origin/master
"。
这意味着git merge origin/master
将始终返回Already up-to-date
条消息。
其次,git pull
是当前本地分支(不是远程跟踪分支)上的git fetch
+ git merge
:它在{{1}上合并},而不是master
。
问题中看到的(快进)合并是origin/master
分支正在更新。