1. 程式人生 > >git操作之衝突解決

git操作之衝突解決

應用場景,任哥,我兩個人共同修改了git專案上的一個檔案。zsh命令列模式

準備工作

簡寫命令解釋

gl=git pull
gp=git push
gst=git status
gcmsg=git commit -m

操作演示檔案

test_git.py

切換到分級developer

git checkout developer

檔案內容


2
3
4
5
6

正常情況

任哥修改了檔案添加了一個7

然後執行了以下命令。

# git add test_git.py 如果git專案中沒有這個檔案就需要add。
git commit -m "add 1-6 to py file" .
git push
任哥的命令操作任哥的命令操作

我pull了一下

簡寫gl

我pull了一下我pull了一下
test_git.py | 1+
1 file changed,1 insertion(+)

可以發現我這多了一個檔案。

衝突開始

任哥對原檔案進行如下修改:

任哥添加了個7任哥添加了個7
然後執行一下的命令
git commit -m "add 7 to py file" .
git push
命令截圖命令截圖

我同樣修改了檔案內容如下:

我添加了個8我添加了個8
然後git pull了一下出現下圖
error:合併衝突error:合併衝突
然後我執行了git status
檢視狀態檢視狀態
發現紅字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直接提交
然後我再執行git status檢視狀態
檢視衝突狀態檢視衝突狀態

發現紅色字型both modified :test_git.py.兩個檔案都修改了
這個時候我們就需要看看這個檔案發生了什麼 發現多了一些看不懂的內容,內容如下:

此時檔案內容此時檔案內容
<<<<<HEAD
8

======
7
>>>>>>一串字串

衝突的部分使用<<<<<進行了內容標示,=====將內容分為了兩部分,8上面標有HEAD,一般己方修改的會標有HEAD,====下面的7是任哥,新增的。此時我需要做的就是和任哥確認是留8還是7,經過商量最後留我的數字8,然後我需要做的就是修改上面的內容為下面內容

8

下面對這次修改的內容做了一次解釋:

<<<<<HEAD  #手動刪除
8
======  #手動刪除
7    #手動刪除
>>>>>>一串字串  #手動刪除

然後執行
git commit之後執行git push,完成本次修改。
最後習慣性的執行一次git pull 確認是最新的程式碼。

最後提交最後提交
拉取最新的程式碼拉取最新的程式碼

顯示Everything up-to-date即最新程式碼

更多工具使用以及python技巧,請關注公眾號:python學習開發。

如果您喜歡我的文章不防動動小手轉發一波,謝謝。
點選閱讀原文進入我的部落格園,看程式碼更方便。由於人數超過100所以需要新增我微信:italocxa,然後拉您入群。