稍微专业一点的人士跳过前3步
第一步,github上建一个自己的仓库 添加一个readme文件,随便写一些文本进去,尽量行数大于1。如图所示:
第二步,点右上角Code,复制链接
第三步, 在自己电脑的某个文件夹下右键,GitBash ,出现黑框框后 输入 git clone 你复制的git网址 如图
第四步,故意制造冲突
故意修改为下面的样子
保存。进到带.git的文件夹
右键->gitbash->git add *->git commit -m "本地更新"
然后先别push,现在还没冲突呢。
之后去github上,在网页上修改readme文件(这样做,其实是在模拟,有同事在你之前提前对这个文件修改并提交了,造成你本地修改了这个文件,并且远程分支上也跟你clone下来的版本不一致)
现在,远程分支和你本地的分支对同一个文件同一行进行了修改
之后再刚才那个commit的gitbash中,执行 git push
可以看到,error rejected,就是拒绝了的意思。并且黄字建议你先git pull一下。那咱们git pull一下
执行完了git pull命令,咱们再来看看本地的readme.txt变成啥样了。
自动变成了这样,可以看到,git pull的时候解决不了冲突 他就把两个版本的内容都列出来了。这时候就算要咱们解决冲突了。
首先,删除<<<<<<HEAD 和 ===========和 >>>>>>>>>和他后面的那串,这三个标识符是告诉你这个地方有冲突的。
然后在这两行中选择你要保留的行,可以是两个都保留,可以是两个都不保留,可以是选择其中一个留下。
这里我假设我两个都想要(模拟你和你同事写的两个方法都想留下)
修改后变成这样
当然,中间的换行什么的,删不删都随你。
当你确定现在的样子是你要的版本的时候。
再次在gitbash 里执行 git add *
git commit -m "我已经解决好冲突了"
git push
嗯。OK 这次不冲突了。再去github上看一下
冲突就算解决了。
注:git add * 是在这次实验中用到的。真实的项目场景,建议 git add 你修改的文件名
git push 这一步也是简写。 具体git push 的用法,大家自行百度。
希望大家多提一些自己还有哪些冲突的场景,我可以重新编辑一下这篇文章为大家解答。