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

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

然后做add 和commit操作,但没push

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

然后ubuntu这边做add 、commit和push 操作

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

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

可以看到这是一次merge动作

冲突情况二
首先在win这边对README文件进行修改

同时win这边进行 add和commit操作,但没有push

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

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

然后进行pull

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

然后win这边再做 add和commit和push的操作解决冲突


















