赞
踩
在提出问题之前需要理解一下 pull 的底层原理,可以参考这篇博客:
详解git pull和git fetch的区别
然后提出几个在学习时的疑问,以及自己的理解(有些情况我没有实践,如有理解错误麻烦大牛指出):
就比如现在远程仓库中有一个 dev1.0 分支,而你的本地仓库是 dev2.0 分支,现在你想要将 dev2.0 分支 push 到远程仓库中去,但是出现了冲突。所以你将 dev1.0 pull 到了本地仓库,并解决了冲突,最后生成了 dev3.0,此时再向远程仓库 push dev3.0,远程仓库就可以正常接收了。
用远程仓库的视角来理解一下就是: 对于 dev1.0 和 dev2.0,我不知道他们之间的关系,我只知道他们有冲突,所以push失败。但是我知道 dev3.0 是 dev2.0 的一个后继,说明 dev3.0 比 dev2.0 的版本更新,所以可以替换。
3. 如果 pull 之后,后悔了怎么办?
答:因为 pull 操作实质上也是一种 commit,所以直接用 reset 回溯就可以了
4.接3,回溯时报错 git Unstaged changes after reset 怎么办?
答:参考 git Unstaged changes after reset
在多人协作,本地仓库向远程仓库同步时,需要遵循先 commit,然后 pull,最后再 push 的流程,养成一个好习惯
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。