git fetch和git merge之间的概念差异?为什么他们对我有同感?

Kum*_*ish 2 git

所以git fetch概念上意味着从远程分支获取东西.现在git merge mybranch意味着将mybranch合并到当前分支中.我看不出两者有什么区别?我遗漏的那种鲜明的概念"在眼前"的区别是什么?

AD7*_*six 8

Git fetch不会修改您的工作副本

git fetch将:

从另一个存储库下载对象和引用

它对您的工作副本或任何本地分支没有任何作用 - 它只下载新的提交并更新远程分支引用.

Git merge修改你的工作副本

git merge将:

一起加入两个或多个开发历史

即合并到当前分支历史中.它仅在当前存储库中运行,不与远程存储库通信或修改远程存储库.

Git pull:获取合并

通常,您需要从另一个存储库获取提交,然后它们合并(或重新绑定)到您的本地分支.

git pull是一个相关的命令.它会:

从另一个存储库或本地分支获取并合并

即:

  • 从远程存储库下载对象
  • 更新远程分支引用
  • 将远程分支合并到本地分支

在一个命令中.

  • 建议 - 添加一点解释`pull = fetch + merge`.它可能超出了确切问题的范围,但如果OP对`fetch` /`merge`感到困惑,那么'pull`也可能存在一些问题...... (3认同)