git推送代码冲突解决

冲突情况一

首先甲和乙同时从远程仓库拉取v1版本的代码,然后乙先修改代码产出v3版本的代码进行提交并且成功,随后甲修改v1版本代码产出v2版本的代码,此时想要提交到origin/master,但是远程的最新版本并不是之前的v1了,这里就产生了冲突(红线标识)。

在这里插入图片描述

举例如下

win这边进行修改排序算法为从大到小排序

在这里插入图片描述

然后做add commit操作,但没push

在这里插入图片描述

然后ubuntu这一方做出了如下修改

在这里插入图片描述

然后ubuntu这边做add commitpush 操作

在这里插入图片描述

此时win这边做push操作则会出现冲突

在这里插入图片描述

此时输入git pull 会自动帮我们进行合并到本地的master分支,然后我们再进行push即可

在这里插入图片描述

可以看到这是一次merge动作

在这里插入图片描述

冲突情况二

首先在win这边对README文件进行修改

在这里插入图片描述

同时win这边进行 addcommit操作,但没有push

在这里插入图片描述

然后ubuntu这边对在README文件相同位置进行修改

在这里插入图片描述

然后win这边再进行push操作,出现冲突

在这里插入图片描述

然后进行pull

在这里插入图片描述

但是此时由于win修改的位置和pull下来的版本在同一个位置进行了修改产生了冲突,不能自动merge,要手动解决,此时冲突的README文件如下

在这里插入图片描述

然后win这边再做 addcommitpush的操作解决冲突

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42120843/article/details/130968856