请输入提交消息以解释为何需要此合并,特别是如果它将更新的上游合并到主题分支中

时间:2013-09-30 02:57:00

标签: git macos git-merge git-commit git-commands

我正在使用Git。我从远程仓库中取出了一个拉动并收到错误消息:

  

“请输入提交消息以解释此合并的原因   必要的,特别是如果它将更新的上游合并到主题中   分支“。

我尝试输入消息并按 Enter 但没有任何反应。

如何告诉Git / terminal我输入了我的消息?

我在OS X上使用终端。

11 个答案:

答案 0 :(得分:874)

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

解决这个问题:

  1. 按“i”
  2. 编写合并消息
  3. 按“esc”
  4. 写“:wq”
  5. 然后按回车

答案 1 :(得分:32)

实际上这不是错误!这意味着您应该输入一些消息来标记此合并。我的操作系统是Ubuntu 14.04。如果你使用相同的操作系统,你只需按照以下步骤操作:

  1. 输入一些消息

  2. 控制 C 0

  3. 输入文件名(例如“Merge_feature01”)并按 Enter

  4. Ctrl X 退出

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

答案 2 :(得分:18)

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

这里 nice 用于您喜欢的编辑器的含义或者找到更多用户友好的。

根本问题是Git默认使用的编辑器对大多数人来说太不直观了:Vim。现在,不要误解我,我喜欢Vim,虽然你可以把时间放在一边(比如一个月)to learn Vim,并试着理解为什么有些人认为Vim是现存最伟大的编辑,那里是解决此问题的更快捷方法: - )

修复不是记住神秘的命令,就像在接受的答案中一样,而是配置Git以使用您喜欢和理解的编辑器!它就像配置这些选项中的任何一个一样简单

  1. git config设置core.editor(每个项目,或全局)
  2. VISUALEDITOR环境变量(这适用于其他程序)
  3. 我将介绍几个热门编辑的第一个选项,但GitHub也有一个很好的guide on this for many editors

    使用Atom

    直接from its docs,在终端输入: git config --global core.editor "atom --wait"

    Git通常会等待编辑器命令完成,但由于Atom立即分配到后台进程,除非你给它--wait选项,否则这不会起作用。

    使用Sublime Text

    出于与Atom案例相同的原因,您需要一个特殊的标志来向进程发出信号,表示它不应该分叉到后台:

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

答案 3 :(得分:12)

Just Do,

CTRL + X

CTRL + C

它会要求你保存文件,按 Y ,然后你就完成了。

答案 4 :(得分:4)

相反,您可以git Ctrl Z 并重试提交,但这次在其后添加带引号的“-m”,然后它将提交而不提示你有那个页面。

答案 5 :(得分:2)

这里要求您提供一条与您的合并相关联的消息,以便将来参考为什么要进行此合并。

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter

答案 6 :(得分:2)

由于您的本地存储库很少提交,git会尝试将您的遥控器合并到您的本地存储库。这可以通过合并来处理,但在您的情况下,也许您正在寻找rebase,即将您的提交添加到顶部。您可以使用

执行此操作

git rebasegit pull --rebase

这是一篇很好的文章,解释了git pull& git pull --rebase

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/

答案 7 :(得分:0)

如何通过合并在android studio终端中添加消息。这是针对Mac用户的。

  • 第一步-按“ i”
  • 第二步-在“#”之后输入您的消息
  • 第三步-按“ esc”键
  • 第四步-在最底端输入“:wq”
  • 第五步-按“ Enter”

合并全部完成,然后可以继续进行操作,然后再拉到本地或创建新分支。

答案 8 :(得分:0)

我发现错误是因为我是git新手 您必须检查输入的语法是否正确

我写错了 git commit

并遇到相同的错误

使用 git commit -m 'some comment'

,您将不会看到带有

的页面

答案 9 :(得分:0)

就我而言,合并后我收到了此消息。 决定:在此类型之后,按esc键。

答案 10 :(得分:0)

当我使用 GIT bash 将 master 分支合并到我的特性分支时,我遇到了同样的问题。我按照以下步骤解决了这个问题。

  1. 按“i”(插入合并消息)
  2. 编写您的合并消息
  3. 按 esc 按钮(返回)
  4. write ':wq'(写入并退出)
  5. 然后按回车