git遇到冲突的解决办法

在团队协同开发时,前些天遇到了一个问题,我和A同事都对拉取了同一份最新代码,我早上push到了远程我的分支并提交了merge request,但是组长忽略了我在gitlab上的merge request。中午A提交了他的代码,组长把他的合并到了master,此时远程最新代码就是A的。下午我提醒组长合并我的请求,这时就会显示产生冲突。于是关闭了merge request。本以为我重新拉取远程最新代码,合并一下就可以提交了,结果在push时一直提示我版本低于远程版本。此时的我很纳闷,明明拉取了最新的代码怎么会低于远程版本。后来看了一些博客和git的知识,才明白我上次的merge request虽然关闭了,但是我的那次commit仍然存在,并且push了,这个时候远程我的分支wyh中已经是我push后的代码了,而A提交的最新代码在master。所以正确的做法应该是先拉取我的远程分支wyh,然后merge master,在本地解决冲突,这样才能成为没有冲突的最新代码。

具体解决步骤:

1.cd 项目名

2.git checkout wyh(切换远程自己的分支),然后导入到eclipse。

3.git pull origin master(拉取远程master),在eclipse中刷新project,此时就会看到冲突。然后手动解决冲突。

4.git status(查看文件状态)根据实际情况,可能会有new file,renamed,both modified多重修改情况。这几种文件都要上传。

5.add 文件(add 要提交的文件)

6.commit -m "提交的备注"(提交文件)

7.git push origin wyh(提交至远程自己的分支),这个时候就可以成功push了,并且没有冲突。

8.在gitlab上提交merge request

你可能感兴趣的:(疑难杂症,git)