git學習之旅(三)——合併衝突(conflict)
阿新 • • 發佈:2019-01-26
「情況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"