「情况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"
在代码是共用的或者是接口,修改文件名或重命名变量会涉及其他模块的代码修改,之后很容易发生冲突或者是逻辑错误。所有尽量避免。如果要改最好是让其他人都将修改提交到服务器且工作区不再编译,再使用软件工具进行重构。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-09-29 04:27:49