在我们在用Git进行多人开发的时候,会遇到没及时拉取最新仓库代码就直接上手写的情况(或者说你正在写,人家就推送了),这种时候我们写好后push就会发现无法推送,查看信息可以得知是远端仓库已经有更新了,本地不是最新版,这就产生冲突了。
先放一张整体流程图:
一般的流程都是:
git add .
git commit -m "your msg"
git push origin master
随后发现报错:
当我们在提交之后就可以使用下面这个命令
git reset HEAD^
将本地仓库退回至上一个版本,同时将上一次提交的内容退回至工作区
此时还不可以拉取最新版,需要先将自己修改过的内容先存到堆栈区
然后再从远端仓库拉去最新的版本,最后在取出堆栈区的文件和拉取的文件对比
git stash [save "your msg"]
git pull
git stash pop
其中:冲突标记<<<<<<<
与=======
之间的内容是别人修改的,=======
与>>>>>>>
之间的内容是自己修改的
最简单的编辑冲突的办法,就是直接编辑冲突了的文件,把冲突标记删掉,把冲突解决即可
在解决这个问题时涉及一些命令:
git diff
: 比较工作区和暂存区(如无则为HEAD)内容git reset HEAD
: 清理暂存区,恢复至工作区git reset --hard HEAD
: 清理暂存区和工作区(修改内容丢失)git log
: 查看版本号git reset [版本号]
: 恢复至指定版本git checkout <filenem>
: 若暂存区为空,则直接回复上一个版本(HEAD)的指定文件至工作区本文作者:ZGGSONG
本文链接:https://cloud.tencent.com/developer/article/2101034
版权声明:本站所有未注明转载的文章均为原创,并采用CC BY-NV-SA 4.0授权协议,转载请注明来源