冲突由于多人协作产生的。
在这里模拟有两个人编程并协同开发。
1下载文件
在github创建一个文件testgit,并下载在github文件中
同时也可以为其改名为friend如下图
2向远端(github)提交
上传文件在friend文件中加入文本并写入修改信息
在这里把文件目录调整到friend中,并查看状态
cd friend
git status
这里表示还没有到暂存区,所以是红色的
git add change.txt
将改变add
此时查看状态
git status
此时已经到暂存区可以commit了。
此时提交
git commit -m"friend commit"
此时再git push
。
中文会乱码,在这里改为英文
此时快速操作
git add .
git commit -m"friend2 commit"
git push
此时有了英文。
3当两作者发生冲突
在testgit 文件中打开git命令行输入
git status
发现并没有改变,,在此文件夹新建一个change,里面内容为change me
此时像之前类似,也把他推到远端
git add .
git commit -m"i commit"
git push
会发现你失败push到远端,因为你在远端不是最新的了
如上图指示运行
git pull
它发现冲突了让我先merge conflict,查看git status
提供两种方式,分别是合并两个文件,和使用
git merge --abort
去不管远端的git文件,使用第一种方法,打开change.txt,发现变化如下
其中===区别冲突地方,若两个人都有用可以把不用的都删掉,如下修改
此时保存。
在从头开始
git add .
git commit -m"fix conflict"
git push
此时查看log可以发现中间的改变,git log可以按q推出。
此时再git push
远端已经合并,上传成功