所以我刚刚了解到 git pull
做了几件事
fetch
更新本地远程镜像merge
将本地分支与更新后的本地远程镜像 merge
但是 push
是否在幕后做了几件类似于 pull
的事情?
最佳答案
不是真的。
在非常技术性的意义上,是的,它做了很多事情,但不像 pull
(你可以合理地做 fetch
和 merge
作为两个不同的 Action )push
所做的所有事情通常总是一起完成:
- 打包不在远程主机上的提交集
- 将打包的提交发送到远程主机
- 更新远程引用以指向您推送给它的提交
如果不同时执行#1 和#2,执行#3 就没有真正的意义 - 如果不执行#3,执行#1 和#2 也没有任何意义。
push
从不 merge - 你要么覆盖远程引用,要么你的推送失败。
关于git - `git push` 到底做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26668445/