git pull和git merge 区别?

git pull和git merge 都是将其他分支的代码合并到当前分支,那到底在不同场景下具体啥区别呢??

阅读 26k
5 个回答

用过了就知道了,次git pull = git fetch + git merge
fetch和push命令可以分别对远程分支进行fetch和push操作,而pull不是直接跟远程分支对话的。
fetch同pull的区别在于:git fetch:是从远程获取最新版本到本地,不会自动merge
而git pull是从远程获取最新版本并merge到本地仓库
从安全角度出发,git fetch比git pull更安全,因为我们可以先比较本地与远程的区别后,选择性的合并。
git push 默认推送到master。

git pull = git fetch + git merge
少用git pull多用git fetch

git fetch 将git/head/对应的branch的hash更新
中间步骤:创建tmp分支与当前分支比较后diff
git merge 合并diff

git pull 一次执行所有
git pull --rebase 创建tmp分支挨个线性合并,不形成菱形

新手上路,请多包涵

git pull 等于先git fetch再git merge .

git pull 远程库地址 本地分支

等于

git fetch 远程库地址
git merge FETCH_HEAD 本地分支
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进