请input一个提交消息来解释为什么这个合并是必要的,特别是如果它合并一个更新的上游到主题分支
我使用的是git。 我做了一个远程回购,并得到一个错误消息:“请input一个提交消息来解释为什么这个合并是必要的,尤其是如果它合并更新的上游到主题分支。
我尝试input消息,然后按回车键,但没有任何反应。
我如何告诉git /terminal我input了我的消息? 我在OS X上使用terminal。
这不是Git错误消息,它是编辑器,因为git使用您的默认编辑器。
要解决这个问题:
- 按“我”
- 编写你的合并信息
- 按“esc”
- 写“:wq”
- 然后按回车
其实这不是一个错误! 这意味着你应该input一些消息来标记这个合并。 我的操作系统是Ubuntu 14.04.如果你使用相同的操作系统,你只需要这样做,如下所示:
- 键入一些消息
- “CTRL + C + O”
- 键入文件名称(如“Merge_feature01”),然后按Enter键
- “Ctrl + X”退出
现在,如果你去.git,你会发现文件“Merge_feature01”,这实际上是合并日志。
相反,你可以按“ctrl + z”并重试提交,但是这次在引号后面加上“-m”,然后它会提交而不提示你进入该页面。
tl; dr将编辑器设置为更好,如Sublime或Atom
在这里, nice用在你喜欢的编辑器的意义上, 或者发现更多用户友好的 。
根本的问题是,默认情况下,Git使用的编辑器对大多数人来说太不直观了:Vim。 现在,不要误解我的意思,我爱Vim,虽然你可以花一些时间(如一个月) 来学习Vim,并试图理解为什么有些人认为Vim是现存最伟大的编辑,但有一个更快的方法解决这个问题的方法:-)
修复不是要记住隐藏的命令 ,就像在接受的答案中一样,而是configurationGit使用你喜欢和理解的编辑器! 这与configuration这些选项非常简单
- git config设置
core.editor
(每个项目或全局) -
VISUAL
或EDITOR
环境variables(这也适用于其他程序)
我将介绍第一个选项,但是GitHub也是许多编辑们的优秀指南 。
使用Atom
直接从它的文档 ,在terminalinput: git config --global core.editor "atom --wait"
Git通常会等待编辑器命令完成,但是由于Atom会立即分叉到后台进程,所以这将不起作用,除非您给出--wait
选项。
使用崇高文本
出于与Atom情况相同的原因,您需要一个特殊的标志来指示进程不应该分叉到后台:
git config --global core.editor "subl -n -w"