git操作之冲突解决
应用场景,任哥,我两个人共同修改了git项目上的一个文件。zsh命令行模式
准备工作
简写命令解释
gl=git pull
gp=git push
gst=git status
gcmsg=git commit -m
操作演示文件
test_git.py
切换到分级developer
git checkout developer
文件内容
1
2
3
4
5
6
正常情况
任哥修改了文件添加了一个7
然后执行了以下命令。
# git add test_git.py 如果git项目中没有这个文件就需要add。
git commit -m "add 1-6 to py file" .
git push
![任哥的命令操作 任哥的命令操作](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143557236-221213931.png)
我pull了一下
简写gl
![我pull了一下 我pull了一下](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143605394-996205708.jpg)
看
test_git.py | 1+
1 file changed,1 insertion(+)
可以发现我这多了一个文件。
冲突开始
任哥对原文件进行如下修改:
![任哥添加了个7 任哥添加了个7](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143613895-869713946.png)
然后执行一下的命令
git commit -m "add 7 to py file" .
git push
![命令截图 命令截图](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143627585-1348299820.png)
我同样修改了文件内容如下:
![我添加了个8 我添加了个8](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143621223-377801969.jpg)
然后git pull了一下出现下图
![error:合并冲突 error:合并冲突](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143634475-469800664.jpg)
然后我执行了git status
![查看状态 查看状态](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143642405-1722181073.jpg)
发现红字modified test_git.py 意思是这个文件修改了,因为任哥修改了文件并提交了,我本地也修改了。
根据提示 如果修改了文件执行git add,然后执行git commit,如果没有修改直接执行git commit。
我没有注意提示直接执行了git commit而没有执行git add 出现了如下错误。
具体命令如下
git commit -m "add 8 to file" .
git push
#继续报错
git pull
看最后一行fix conflicts and run "git commit"。让我解决冲突再次提交,此时发现命令行多了个状态>M<,这个符号告诉我们当前处于merge状态。
![没有使用add直接提交 没有使用add直接提交](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143649600-270852996.jpg)
然后我再执行git status查看状态
![查看冲突状态 查看冲突状态](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143655379-986352639.jpg)
发现红色字体both modified :test_git.py.两个文件都修改了
这个时候我们就需要看看这个文件发生了什么 发现多了一些看不懂的内容,内容如下:
![此时文件内容 此时文件内容](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143708526-736061059.jpg)
<<<<<HEAD
8
======
7
>>>>>>一串字符串
冲突的部分使用<<<<<进行了内容标示,=====将内容分为了两部分,8上面标有HEAD,一般己方修改的会标有HEAD,====下面的7是任哥,添加的。此时我需要做的就是和任哥确认是留8还是7,经过商量最后留我的数字8,然后我需要做的就是修改上面的内容为下面内容
8
下面对这次修改的内容做了一次解释:
<<<<<HEAD #手动删除
8
====== #手动删除
7 #手动删除
>>>>>>一串字符串 #手动删除
然后执行
git commit之后执行git push,完成本次修改。
最后习惯性的执行一次git pull 确认是最新的代码。
![最后提交 最后提交](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143743737-1917199238.jpg)
![拉取最新的代码 拉取最新的代码](https://img2018.cnblogs.com/blog/736399/201811/736399-20181115143750842-1970853031.jpg)
显示Everything up-to-date即最新代码
更多工具使用以及python技巧,请关注公众号:python学习开发。
如果您喜欢我的文章不防动动小手转发一波,谢谢。
点击阅读原文进入我的博客园,看代码更方便。由于人数超过100所以需要添加我微信:italocxa,然后拉您入群。