我正在使用Git。我从一个远程仓库做了拉,并得到一条错误信息:
“请输入一条提交消息来解释为什么这种合并是必要的,特别是如果它将更新的上游合并到一个主题分支中。”
我尝试输入消息并按Enter但没有任何反应。
我怎么告诉Git /终端我输入了我的消息?
我在OS X上使用终端。
这不是Git错误消息,它是编辑器,因为git使用您的默认编辑器。
要解决这个问题:
实际上这不是一个错误!这意味着您应该输入一些消息来标记此合并。我的操作系统是Ubuntu 14.04。如果您使用相同的操作系统,您只需按以下步骤操作:
现在,如果你去.git,你会发现文件“Merge_feature01”,这实际上就是合并日志。
这里很好用于您喜欢的编辑器的含义或找到更多用户友好。
根本问题是Git默认使用的编辑器对大多数人来说太不直观了:Vim。现在,不要误会我的意思,我喜欢Vim,虽然你可以把时间放在一边(比如一个月)to learn Vim并试着理解为什么有些人认为Vim是现存最伟大的编辑,有一种更快的修复方法这个问题 :-)
修复不是要记住神秘的命令,比如在接受的答案中,而是配置Git使用你喜欢和理解的编辑器!它就像配置这些选项中的任何一个一样简单
core.editor
(每个项目,或全局)VISUAL
或EDITOR
环境变量(这适用于其他程序)我将介绍几个流行编辑的第一个选项,但GitHub也有一个优秀的guide on this for many editors。
直接from its docs,在终端输入:git config --global core.editor "atom --wait"
Git通常会等待编辑器命令完成,但由于Atom立即分配到后台进程,这将不起作用,除非你给它--wait
选项。
出于与Atom情况相同的原因,您需要一个特殊的标志来向进程发出信号,告知它不应该分叉到后台:
git config --global core.editor "subl -n -w"
做就是了,
CTRL + X.
CTRL + C.
它会要求你保存文件,按Y,然后你就完成了。
相反,您可以git CtrlZ并重试提交,但这次添加“-m”后面带引号的消息,然后它将提交而不提示您使用该页面。
在这里,它要求您提供与您的合并连接的消息,以便将来参考为什么您完成此合并。
press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter
由于您的本地存储库很少提交,git会尝试将您的遥控器合并到您的本地存储库。这可以通过合并来处理,但在您的情况下,也许您正在寻找rebase,即将您的提交添加到顶部。你可以这样做
git rebase
或git pull --rebase
这是一篇很好的文章,解释了git pull
和git pull --rebase
之间的区别。
https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
如何在你的合并中在android studio终端中添加消息。这适用于mac用户。
你已经完成了你的合并。然后你可以继续工作,或者拉到你当地后或创建一个新的分支。