请input一个提交消息来解释为什么这个合并是必要的,特别是如果它合并一个更新的上游到主题分支

我使用的是git。 我做了一个远程回购,并得到一个错误消息:“请input一个提交消息来解释为什么这个合并是必要的,尤其是如果它合并更新的上游到主题分支。

我尝试input消息,然后按回车键,但没有任何反应。

我如何告诉git /terminal我input了我的消息? 我在OS X上使用terminal。

这不是Git错误消息,它是编辑器,因为git使用您的默认编辑器。

要解决这个问题:

  1. 按“我”
  2. 编写你的合并信息
  3. 按“esc”
  4. 写“:wq”
  5. 然后按回车

其实这不是一个错误! 这意味着你应该input一些消息来标记这个合并。 我的操作系统是Ubuntu 14.04.如果你使用相同的操作系统,你只需要这样做,如下所示:

  1. 键入一些消息
  2. “CTRL + C + O”
  3. 键入文件名称(如“Merge_feature01”),然后按Enter键
  4. “Ctrl + X”退出

现在,如果你去.git,你会发现文件“Merge_feature01”,这实际上是合并日志。

相反,你可以按“ctrl + z”并重试提交,但是这次在引号后面加上“-m”,然后它会提交而不提示你进入该页面。

tl; dr将编辑器设置为更好,如Sublime或Atom

在这里, nice用在你喜欢的编辑器的意义上, 或者发现更多用户友好的

根本的问题是,默认情况下,Git使用的编辑器对大多数人来说太不直观了:Vim。 现在,不要误解我的意思,我爱Vim,虽然你可以花一些时间(如一个月) 来学习Vim,并试图理解为什么有些人认为Vim是现存最伟大的编辑,但有一个更快的方法解决这个问题的方法:-)

修复不是要记住隐藏的命令 ,就像在接受的答案中一样,而是configurationGit使用你喜欢和理解的编辑器! 这与configuration这些选项非常简单

  1. git config设置core.editor (每个项目或全局)
  2. VISUALEDITOR环境variables(这也适用于其他程序)

我将介绍第一个选项,但是GitHub也是许多编辑们的优秀指南 。

使用Atom

直接从它的文档 ,在terminalinput: git config --global core.editor "atom --wait"

Git通常会等待编辑器命令完成,但是由于Atom会立即分叉到后台进程,所以这将不起作用,除非您给出--wait选项。

使用崇高文本

出于与Atom情况相同的原因,您需要一个特殊的标志来指示进程不应该分叉到后台:

git config --global core.editor "subl -n -w"