Please enter a commit message to explain why this merge is necessary, especially if it merges an updated upstream into a topic branch
我用的是Git。我从远程回购中提取了一条消息,并收到一条错误消息:
"please enter a commit message to explain why this merge is
necessary, especially if it merges an updated upstream into a topic
branch."
我试着输入一条信息,然后按enter,但什么也没发生。
如何告诉Git/Terminal我已经完成了输入消息的工作?
我在OS X上使用终端。
这不是Git错误消息,而是Git使用默认编辑器时的编辑器。
解决这个问题:
实际上这不是一个错误!这意味着您应该输入一些消息来标记此合并。我的操作系统是Ubuntu 14.04。如果您使用相同的操作系统,您只需按以下步骤操作:
键入一些消息
CtrLXKBdo
键入文件名(例如"merge_feature01"),然后按enter。
CtrLX退出
现在,如果你转到.git,你会发现文件"merge_feature01",这就是合并日志。
医生把编辑安排得更好一些,比如崇高或原子。
在这里,nice用于您喜欢的编辑器的含义,或者用于更便于用户使用。
根本的问题是,在默认情况下,Git使用的编辑器对大多数人来说太不直观:vim。现在,别误会我,我爱Vim,虽然你可以留出一些时间(比如一个月)来学习Vim并试图理解为什么有些人认为Vim是存在的最伟大的编辑,但有一种更快的方法来解决这个问题:—)
解决方法不是像在接受的答案中那样记住密码命令,而是配置Git使用您喜欢和理解的编辑器!它实际上和配置这些选项一样简单
我将为一些流行的编辑提供第一种选择,但Github也为许多编辑提供了一个极好的指南。
使用原子直接从文档中输入:
Git通常会等待editor命令完成,但是由于Atom会立即分叉到后台进程,所以这将不起作用,除非您给它一个
出于与Atom案例相同的原因,您需要一个特殊的标志来向进程发出信号,表明它不应该分叉到后台:
只做,
CtrL+xBaKBd
ctrl+c
它将要求您保存文件,按y,然后完成。
相反,您可以git ctrlzz并重试提交,但这次添加"-m",在消息后面加上引号,然后它将提交而不提示您使用该页。
由于您的本地存储库前面很少提交,所以Git尝试将您的远程存储合并到本地存储库。这可以通过合并来处理,但在您的情况下,可能您正在寻找REBASE,即将提交添加到顶部。你可以用
这是一篇很好的文章,解释了
https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
这里要求您输入一条与合并相关的消息,以供将来参考您进行合并的原因。
1 2 3 4 5 | press"i" on top above on #lines write your message press"esc" button write":wq" (it will write in bottom automatically) press enter |
如何在android studio终端中添加消息和合并。这是为Mac用户准备的。
- 第一步-按"I"
- 第二步-在""后输入信息
- 第三步-按"Esc"
- 第四步-在最下面写":wq"
- 第五步-按"回车"
合并已完成。然后您可以继续处理拉到本地分支或创建新分支。