2012-12-26 39 views
74

時鎖定了MAC終端我在學習github上的在Mac(命令行)的過程中,每當我做git pull origin master我得到這個github上使用拉命令

# Please enter a commit message to explain why this merge is necessary, 
# especially if it merges an updated upstream into a topic branch. 
# 
# Lines starting with '#' will be ignored, and an empty message aborts 
# the commit. 
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
".git/MERGE_MSG" 7L, 293C 

終端似乎鎖定和不允許我立即輸入任何內容,然後當它最終允許我輸入文本時,它似乎不能識別git命令。

這是git中的錯誤還是我錯過了什麼?

+4

它真的鎖死了,還是你不熟悉'vi'? –

+1

我不能完全告訴你爲什麼,但git希望你輸入一個提交信息,而你很可能在文本編輯器vim中。 – Misch

+0

啊我看,是的,我不熟悉vim。我如何輸入並保存評論然後推斷? – zero

回答

174

你在文本編輯器中,vim!這是一個模式文本編輯器,所以你需要:

  1. 進入插入模式
  2. 現在您可以鍵入您的消息,就好像您處於正常的 (非模態)文本編輯器中一樣。
  3. esc回到命令模式
  4. 然後鍵入:w然後輸入保存。
  5. 最後:q後面輸入退出。
+4

啊優秀,幾乎在那裏失去了我的頭。謝啦。 – zero

+2

爲esc提醒+1!這是我永遠忘記的部分。 – Bek

+0

非常感謝...它爲我工作... – girish

12

讓它變得簡單。

類型:wq進入

0

我解決了這個問題,通過執行以下步驟

  1. 刪除#MERGE_MSG#

    rm .git/\#MERGE_MSG#

  2. 刪除MERGE_HEAD

    rm .git/MERGE_HEAD

此外,我明確設置的git的編輯器,我熟悉VIM一個編輯器(可以設置納米

`git config --global core.editor "vim"` 
1

運行此命令

git config --global core.editor "gedit" 

在該文件中加入您的訊息並將其保存。 現在回去拉。

1

根據您的描述,編輯看起來像是vim。 這個控制檯只是告訴你寫一些你想要提交的消息,這是強制性的。

  • 只需鍵入i你就可以走在-- INTER --模式,現在你可以寫你的意見。

  • 寫完後,在鍵盤上按esc鍵,您將進入命令模式。 (看到在控制檯的底部)

  • 現在保存更改,通過按enter

Writing <code>:w</code> command

  • 現在,您可以退出寫:w接着寫,然後:qenter

Writing <code>:q</code> command

  • 萬歲!最後你回到主控臺。
0

你可以做 git checkout --merge yourbranch

當前分支之間的三路合併,你的工作內容樹,與新分支完成後,你將在新的分支。