所以git fetch
概念上意味着从远程分支获取一些东西。现在git merge mybranch
意味着将 mybranch 合并到当前分支中。我看不出两者有什么区别?我缺少什么明显的概念上的“就在眼前”差异?
问问题
164 次
3 回答
8
Git fetch 不会修改您的工作副本
从另一个存储库下载对象和引用
它不会对您的工作副本或任何本地分支做任何事情——它只会下载新的提交并更新远程分支引用。
Git 合并修改你的工作副本
将两个或多个开发历史结合在一起
即合并到当前分支历史中。它只在当前存储库中运行,它不与远程存储库通信或修改。
Git拉取:获取和合并
通常,您需要从另一个存储库中获取提交,然后将它们合并(或变基)到您的本地分支中。
git pull是一个相关的命令。它会:
从另一个存储库或本地分支获取并合并
IE:
- 从远程存储库下载对象
- 更新远程分支引用
- 将远程分支合并到本地分支
在一个命令中。
于 2013-07-19T13:49:35.737 回答
2
git fetch 是在不合并的情况下获取更改,让您控制。Git pull 进行提取和合并。
get fetch 不会改变你的工作数据。git merge 可以。您可以在 git fetch 发生之前看到代码更改
于 2013-07-19T13:48:34.013 回答
2
也许您对来自另一个版本控制系统(如 SVN)感到困惑?在 SVN 中,“从远程获取”(=“svn update”)获取更改并“集成”它们。
在 Git 中,这是两个独立的操作:git fetch
仅从远程获取更改,但不“集成”它们。git merge
然后整合这些变化。
于 2013-07-19T14:08:29.603 回答