19

当我写作时,git commit --amend我得到了某种编辑器,我可以在其中更改此提交的名称。如何使用键盘确认并保存我的更改?

4

5 回答 5

28

扩展 William Pursell 所说的内容,您可能最终会使用 vim。保存更改并退出编辑器,:方法是输入命令,然后按wq,然后按 Enter。要退出 vim 而不保存更改,请:q!改为这样做。

要将此默认值更改为您更熟悉的值,您可以将EDITOR变量设置为您选择的值(尝试nano)。

只需放在export EDITOR=nano末尾~/.bash_profile(如果您还没有文件,请创建文件)以获得每个新终端会话的此行为。

此外,您可以完全git commit --amend -m 'Your message here'不需要编辑器。

于 2015-02-01T05:48:01.607 回答
7

像这样配置编辑器(以gedit为例):

git config --global core.editor "gedit"

您可以像这样读取当前配置:

git config core.editor

您还可以从命令行添加提交消息。

git commit --amend -m "blablabla"

并且编辑器根本不会打开。

于 2015-02-01T05:54:34.227 回答
5

似乎该线程回答了您的问题:Git - 如何关闭提交编辑器?

将文件保存在编辑器中。如果是 Emacs: CTRLX CTRLS 保存然后 CTRLX CTRLC > 退出或者如果是 vi: :wq

先按 esc 退出编辑。(在 windows/vi 中)

于 2019-01-17T08:05:10.677 回答
4

如果你使用 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

祝你好运。

于 2020-10-01T22:27:17.470 回答
3

只需按照屏幕下方的说明进行操作即可。我记得上面说过,按^O写出来,然后如果你改变了什么,它会让你输入要写的文件名。现在就按enter

请注意,在 Ubuntu 上,^O表示Ctrl+OM-D表示Esc+D(据我所知)。这让我们感到困惑。

您可以随时使用^G来阅读帮助信息。

于 2018-12-13T06:31:43.950 回答