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
4.6
05
开发项目名称怎么起?
Web浏览器推送的6大好处
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

4个Linux终端清屏的命令

就像任何其他操作系统一样,Li…

6小时 ago

Clockwise一款AI日历工具

Clockwise是一款创新的…

3天 ago

Leonardo一个视觉创意AI生成平台

Leonardo.ai提供了一…

3天 ago

DupDub一款终极AI内容创作助手

DupDub 是一个一站式内容…

3天 ago