git学习之旅(3)——合并冲突(conflict)
git学习之旅(三)——合并冲突(conflict)
「情况1」同一文件内容冲突
- cd ~/user2/sample
- git pull
- echo "Hello,User2" >> user.txt
- git add .
- git commit -m "user2 conflict commit"
- git push origin master
- cd ~/user1/sample
- echo "Hello,User1" >> user.txt
- git pull
由于发生了冲突不能合并新的版本,要先提交
- git add .
- git commit -m "user1 conflict commit"
- git pull
因为2个用户都想同一文件同一地发进行修改,即发生了冲突(conflict),使用文本编辑器可以看到有以下标志提示
必须修正冲突的地方再提交,改为如下结果
- git add .
- git commit -m "solve confict"
- git log
- git push origin master
「扩展」图形用户界面
修改冲突建议使用图形界面工具- sudo apt-get install meld
- git mergetool --tool=meld
「情况2」重命名文件
- cd ~/user1/sample
- mv user.txt user11.txt
- git add .
- git status
- git add -A
修改文件名相当于删除旧的文件,新建一个文件,涉及删除文件根据以上提示使用git rm <file>,也可以使用git add -A包括新增(new file),修改(modify),删除(deleted)都全部提交,至于git add . 不包括删除。
- git status
- git commit -m "user1 renamed"
- git push origin master
- cd ~/user2/sample
- mv user.txt user22.txt
- git add -A
- git commit -m "user2 renamed"
- git pull
ll
- ls -l
- git status
发现同时存在2个文件,要将冲突修正
- rm user22.txt
- mv user11.txt user.txt
- git add -A
- git commit -m "solve filename conflict"
版权声明:本文为博主原创文章,未经博主允许不得转载。