当我写git commit --amend
时,我会得到某种编辑器,我可以在其中更改此提交的名称。如何使用键盘确认并保存我的更改?
答案 0 :(得分:14)
扩展William Pursell所说的话,你可能最终会进入vim。保存更改并退出编辑器,方法是键入:
输入命令,然后按wq
,然后按Enter键。要退出vim而不保存更改,请改为:q!
。
要将此默认设置更改为您更熟悉的内容,您可以将EDITOR
变量设置为您选择的内容(尝试nano
)。
只需将export EDITOR=nano
放在~/.bash_profile
的末尾(如果您还没有该文件,则创建该文件),以便为每个新的终端会话获取此行为。
此外,您可以完成git commit --amend -m 'Your message here'
而无需编辑。
答案 1 :(得分:4)
像这样配置编辑器(以gedit为例):
git config --global core.editor "gedit"
您可以像这样阅读当前配置:
git config core.editor
您还可以从命令行添加提交消息。
git commit --amend -m "blablabla"
并且编辑器根本不会打开。
答案 2 :(得分:1)
只需按照屏幕下部的说明进行操作。
我记得它说过,按^O
进行写出,然后如果您进行了任何更改,就可以输入要写入的文件名。立即按enter
。
注意,在Ubuntu上,^O
表示Ctrl+O
,而M-D
表示Esc+D
(据我所知)。这就是使我们感到困惑的地方。
您始终可以使用^G
来阅读帮助信息。
答案 3 :(得分:1)
似乎该线程回答了您的问题:Git - How to close commit editor?
在编辑器中保存文件。如果是Emacs:CTRLX CTRLS保存,然后CTRLX CTRLC>退出,或者它是vi::wq
先按esc键退出编辑。 (在Windows / vi中)
答案 4 :(得分:0)
如果您使用git bash命令提示符,但尚未推送。您可以使用
git commit --amend -m "new message"
如果您已经推送,请使用rebase
git rebase -i HEAD~1
其中“ i”表示接口,“ 1”表示最后一个。如果您想要最后两个,则输入“ 2”。
Rebase将带您进入一个非常笨拙的“ VI”编辑器。通过插入键确保键盘处于“插入”模式。
然后,将黄色单词“ pick”覆盖为“ reword”。 然后,用新命令覆盖搞笑ID后的旧消息。 然后,通过按键盘上的“ Esc”键退出INSERT模式。现在,您必须退出“ VI”并保存。
键入:wq ,然后按“ ENTER”以保存您的编辑。 如果您看到他们给您更多问题,请再按一次“ ENTER”
回到“ $”模式后,您就会这么做
git push --force
祝你好运。