我正在使用Git。我从远程回购进行了拉取,并收到错误消息:

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

我试着键入一条消息,然后按Enter键,但什么都没有发生。

我如何告诉Git/终端我已经完成了输入消息?

我正在使用OS X上的终端。


当前回答

由于本地存储库很少提前提交,git会尝试将远程存储库合并到本地存储库。这可以通过合并来处理,但在您的情况下,可能您正在寻找重新基础,即将提交添加到顶部。你可以用

git rebase或git pull--rebase

这里有一篇很好的文章解释了git pull和git pull-rebase之间的区别。

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

其他回答

事实上,这不是错误!这意味着您应该输入一些消息来标记此合并。

我的操作系统是Ubuntu 14.04。如果您使用相同的操作系统,只需按以下步骤操作:

键入一些消息CtrlCO公司键入文件名(例如“Merge_feature01”),然后按Enter键CtrlX退出

现在,如果您转到.git并找到文件“Merge_feature01”,那实际上就是合并日志。

提交消息来自Git,但实际上是编辑器阻止您退出。这是因为Git使用默认编辑器,出于各种原因,该编辑器通常设置为vi(可能是操作系统上的其他编辑器,如pico)。

要编写提交消息并退出VI,请执行以下步骤:

按i(i表示插入)编写合并消息按下esc(退出)写入:wq(写入退出)然后按回车键

您还可以将Git配置为使用另一个编辑器,以避免使用VI(或其近亲VIM)。

由于本地存储库很少提前提交,git会尝试将远程存储库合并到本地存储库。这可以通过合并来处理,但在您的情况下,可能您正在寻找重新基础,即将提交添加到顶部。你可以用

git rebase或git pull--rebase

这里有一篇很好的文章解释了git pull和git pull-rebase之间的区别。

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

只是做,

CTRL+X键

CTRL+C键

它将要求您保存文件,按Y,然后完成。

相反,您可以获取CtrlZ并重试提交,但这次添加“-m”并在其后面加上引号,然后它将提交而不提示您使用该页面。