git pull --- Please enter a commit message to explain why this merge is necessary


背景

有時候用命令行執行git pull會彈出一個框,讓開發人員去填寫 commit message

 

前提

git pull = git fetch + git merge , 這個問題出現在git merge階段

 

原因

對於git 來說,merge的時候對於某一個文件會出現四種情況:

  1. 沒有分支對這個文件進行修改
  2. 只有一條分支進行了修改,此時git判斷沒有發生沖突
  3. 兩條分支都進行了修改,但是修改記錄沒有發生重疊,git判斷沒有發生沖突
  4. 兩條分支都進行了修改,並且修改記錄發生了重疊,git判斷發生了沖突

   git判斷是否沖突是有它的一套邏輯的,可以去百度深入了解

 

彈出這個框是因為出現了第3種情況。這個時候git會彈出這個框提示你此文件遠程也有修改但是和本地的修改沒有重疊,接着git會完成自動幫你merge,並且自動幫你add,自動幫你commit這一系列操作,彈出這個就是讓你填寫一些commit 信息。

 

解決

  出現這種情況我們可以當做沒有任何沖突,可以不管(直接下面3,4步),如果要輸入解釋的話就需要:

    1.按鍵盤字母 i 進入insert模式

    2.修改最上面那行合並信息,可以不修改

    3.按鍵盤左上角"Esc"

    4.輸入":wq",注意是冒號+wq,按回車鍵即可

 

通過git log可以查看剛剛提交的commit message

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM