git fetch和git pull有什么区别?

在讨论这两个命令之间的差异之前,让我们强调它们的相似之处:两者均用于从远程存储库下载新数据。下载数据是开发工作中必不可少的步骤-因为您正在本地存储库中查看的远程数据只是一个“快照”。
它仅与您上次使用“访存”或“拉取”从远程显式下载新数据的时间相同。在检查远程分支和提交时牢记这一事实至关重要。

现在,让我们看一下“提取”和“拉取”之间细微但重要的区别。

Fetch

$ git fetch origin

git fetch实际上仅从远程存储库下载新数据-但不会将任何新数据合并到当前的工作区中。取回非常有用,它可以使您远程查看远程存储库中发生的所有事情。由于它的“无害”性质,您可以放心:获取永远不会操纵,破坏或破坏任何东西。这意味着您永远无法获取足够的东西。

Pull

$ git pull origin master

相比之下,使用git pull的目的不同:使用远程服务器的最新更改来更新当前的HEAD分支。这意味着pull不仅下载新数据,它还将其直接合并到您当前的工作副本文件中。这有两个后果:

  • 由于“ git pull”试图将远程更改与本地更改合并,因此可能发生所谓的“合并冲突”。
  • 与其他许多操作一样,强烈建议仅使用干净的工作副本开始“ git pull”。这意味着在拉动之前,您不应有任何未提交的本地更改。使用Git的隐藏功能暂时保存您的本地更改。

结论

git pull = git fetch + git merge

实际操作时请注意以下两点:

  • 尽可能使用干净的工作区来git pull
  • 首先使用git fetch, 在手动git merge
开发项目名称怎么起?
Web浏览器推送的6大好处