这在很大程度上是出于好奇心,因为我想要熟悉Git。我已经看过“git fetch”的文档,但我没有看到一个明显的解释如下。提前感谢,如果这是显而易见的,请道歉。
1)从一个中央存储库,例如GitHub,我在两台机器HostA
和HostB
中的每台机器上克隆了一个名为website
的存储库。
2)在HostA
上,我更改了一个文件,比如README.txt
,然后提交它。
在HostA
上,分支master
和origin/master
的提交与预期的不同,因为我还没有推送
git show master
git show origin/master
报告不同的散列(因为master
有更改,而origin/master
没有更改)
3)一旦我推了,他们也是一样的。
4)现在,在HostB
上,如果我执行以下操作:
git fetch
git merge FETCH_HEAD
之后,在使用git show
查询时,HostB上的master
和origin/master
会报告相同的哈希值
但
如果我这样做了,在HostB
上
git fetch origin master
git merge FETCH_HEAD
在这一点上,散列仍然不同。
git show origin
git show origin/master
报告不同的哈希值
直到我执行一个普通的git fetch
,跟踪分支origin/master
才会更新
为什么会这样呢?
https://stackoverflow.com/questions/11892517
复制相似问题