赞
踩
在提交代码的时候,有两个人,比如叫A与B,现在A从远程主分支master拉了代码到自己本地,本地电脑形成local A与local B分支,然后写了自己的需求代码commit并推送到远程仓库,形成自己的origin A与origin B,然后两个人进行合并请求merge request,请求merge后,master主分支里代码少了一部分。
提示:原因是因为两个人分别互相pull了对方远程分支的代码,然后对master分支进行push的时候会发生冲突,导致代码覆盖或其中一个人的代码消失
A与B在某些时刻pull了对方的远程代码仓库,比如A同学 pull了B的远程分支origin B,然后加到了自己的commit里并push到自己的远程仓库,会导致一些代码合并冲突。
以下为解决方案,分为几步进行,比如A同学要解决冲突。
下面来详细演示下第一步的流程:
如下图所示,敲入git log命令,并查找到最后一次提交,比如是这个6d27开头的commit id,找到这个id后我们进行回滚,使用git reset命令
注意!!!! 注意!!!!
在reset前要把自己写的新需求的代码保存到当地,可以保存到记事本或者暂时新建个py文件,因为回滚后新代码就消失了
先回退本地的这次提交, git reset --hard [commit id]
在reset前要把自己写的新需求的代码保存到当地,可以保存到记事本或者暂时新建个py文件,因为回滚后新代码就消失了
将本地修改强制push到远程仓库 git push --force
第二步的流程就跟往常一样了:
第二步就是平常工作时的流程,本地代码回滚后自己写的需求代码消失了,所以需要将自己之前写的 代码写进去—进行commit–然后push—远程仓库请求merge
好了,这就是git提交发生冲突的时候,一种解决方法思路,如果有碰到相同问题的可以借鉴一下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。