背景
有時候用命令行執行git pull會彈出一個框,讓開發人員去填寫 commit message
前提
git pull = git fetch + git merge , 這個問題出現在git merge階段
原因
對於git 來說,merge的時候對於某一個文件會出現四種情況:
- 沒有分支對這個文件進行修改
- 只有一條分支進行了修改,此時git判斷沒有發生沖突
- 兩條分支都進行了修改,但是修改記錄沒有發生重疊,git判斷沒有發生沖突
- 兩條分支都進行了修改,並且修改記錄發生了重疊,git判斷發生了沖突
git判斷是否沖突是有它的一套邏輯的,可以去百度深入了解
彈出這個框是因為出現了第3種情況。這個時候git會彈出這個框提示你此文件遠程也有修改但是和本地的修改沒有重疊,接着git會完成自動幫你merge,並且自動幫你add,自動幫你commit這一系列操作,彈出這個就是讓你填寫一些commit 信息。
解決
出現這種情況我們可以當做沒有任何沖突,可以不管(直接下面3,4步),如果要輸入解釋的話就需要:
1.按鍵盤字母 i 進入insert模式
2.修改最上面那行合並信息,可以不修改
3.按鍵盤左上角"Esc"
4.輸入":wq",注意是冒號+wq,按回車鍵即可
通過git log可以查看剛剛提交的commit message