在讨论这两个命令之间的差异之前,让我们强调它们的相似之处:两者均用于从远程存储库下载新数据。下载数据是开发工作中必不可少的步骤-因为您正在本地存储库中查看的远程数据只是一个“快照”。
它仅与您上次使用“访存”或“拉取”从远程显式下载新数据的时间相同。在检查远程分支和提交时牢记这一事实至关重要。
现在,让我们看一下“提取”和“拉取”之间细微但重要的区别。
$ git fetch origin
git fetch实际上仅从远程存储库下载新数据-但不会将任何新数据合并到当前的工作区中。取回非常有用,它可以使您远程查看远程存储库中发生的所有事情。由于它的“无害”性质,您可以放心:获取永远不会操纵,破坏或破坏任何东西。这意味着您永远无法获取足够的东西。
$ git pull origin master
相比之下,使用git pull的目的不同:使用远程服务器的最新更改来更新当前的HEAD分支。这意味着pull不仅下载新数据,它还将其直接合并到您当前的工作副本文件中。这有两个后果:
实际操作时请注意以下两点: