1. 程式人生 > >7.衝突解決

7.衝突解決

場景:多個開發者同時操作git中的同一個檔案,最後在依次提交和push的時候,第一個操作的是可以正常push的,而之後的開發者想要執行pull和push操作的時候,就會報衝突異常conflict。

1.在github上新建一個conflict倉庫,並在本地初始化倉庫,新增內容並完成初始化提交

git clone https://github.com/1259472421/conflict.git
cd conflict
ls
echo "我去水果店買水果">> test.txt
ls
git add test.txt
git commit -m "init commit"
git push

在這裡插入圖片描述
檢視提交後github裡的內容
在這裡插入圖片描述
2.複製一份conflict命名為conflict1,並使用另一個終端開啟,模擬不同使用者進行程式碼提交

cp -r conflict conflict1

在這裡插入圖片描述
在這裡插入圖片描述
3.使用者conflict進行的操作

cat test.txt
echo "我買了一斤蘋果,蘋果很好吃。">> test.txt
git add test.txt
git commit -m "user conflict commit"
git push

在這裡插入圖片描述
檢視提交後github裡的內容
在這裡插入圖片描述
4.使用者conflict1進行的操作

cat test.txt
echo "我買了一斤蘋果,蘋果很難吃。">> test.txt
git add test.txt
git commit -m "user conflict1 commit"
git pull

在這裡插入圖片描述
git會在pull時自動合併程式碼,而需要push時,丟擲一個衝突需要我們手工解決。
在這裡插入圖片描述
5.手動解決衝突(保留的內容為後一次提交的內容)
在這裡插入圖片描述
檢視github上的內容
在這裡插入圖片描述
6.使用者conflict更新程式碼

cat test.txt
git pull
cat test.txt

在這裡插入圖片描述