这主要是好奇心的本质,因为我正在努力熟悉Git.我查看了'git fetch'的文档,但我没有看到下面的明显解释.在此先感谢,如果这是显而易见的,请道歉.
1)从中央存储库,比如说GitHub,我克隆一个名为website
两台机器上的存储库,HostA
和HostB
.
2)on HostA
,我对文件进行了更改,比如说README.txt
,然后提交它.
在这一点上HostA
,分支的提交master
和
origin/master
预期的不同,因为我尚未推动
git show master
git show origin/master
Run Code Online (Sandbox Code Playgroud)
报告不同的哈希值(因为master
有变化而origin/master
没有)
3)一旦我推,他们就是在那之后.
4)现在,HostB
如果我做了以下事情:
git fetch
git merge FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
之后,在HostB上master
并origin/master
在查询时报告相同的哈希值git show
但
如果相反我做了,在HostB
:
git fetch origin master
git merge FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
在那一点上,哈希仍然不同.
git show origin
git show origin/master
Run Code Online (Sandbox Code Playgroud)
报告不同的哈希值
跟踪分支origin/master
在我做普通之前不会更新git fetch
为什么是这样?