【问题标题】:How to confirm changes after `git commit --amend` in Terminal? [duplicate]如何在终端中确认“git commit --amend”后的更改? [复制]
【发布时间】:2015-03-26 10:35:54
【问题描述】:

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

【问题讨论】:

  • 退出你的编辑器!您可能正在使用 vi 克隆(可能是 vim)。尝试输入 ":wq" 并按回车键。冒号带您进入命令模式,然后 w 写入缓冲区,然后 q 退出。永远不要让别人告诉你 ctrl-x ctrl-c 对于“write-quit”比“wq”更直观。
  • @WilliamPursell 即使我迟到了,您也应该输入您的评论作为答案。到目前为止,您的评论是该问题上唯一真正解决问题中所述问题的内容。
  • 所以你可以写 :wq 你需要按 ctrl+C 退出编辑器。如果其他人遇到这个问题
  • 这个问题不像建议的那样重复。答案是git commit --amend --no-edit,它在不更改提交消息的情况下修改提交。

标签: git terminal git-commit git-amend


【解决方案1】:

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

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

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

另外,您可以在完全不需要编辑器的情况下进行git commit --amend -m 'Your message here'

【讨论】:

  • 虽然这个答案提出了很好的选择,但它并没有解决问题中所述的实际问题。
【解决方案2】:

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

git config --global core.editor "gedit"

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

git config core.editor

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

git commit --amend -m "blablabla"

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

【讨论】:

  • 虽然这个答案提出了很好的选择,但它并没有解决问题中所述的实际问题。
【解决方案3】:

这个帖子似乎回答了你的问题:Git - How to close commit editor?

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

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

【讨论】:

    【解决方案4】:

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

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

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

    【讨论】:

      【解决方案5】:

      如果你使用 git bash 命令提示符,并且你还没有推送。你可以使用

      git commit --amend -m "new message"
      

      如果你已经推送了,你使用rebase

      git rebase -i HEAD~1
      

      其中“i”表示接口,“1”表示最后一个。如果你想要最后两个,你输入'2'。

      Rebase 会带你进入一个非常尴尬的“VI”编辑器。通过插入键确保您的键盘处于“INSERT”模式。

      然后您将黄色单词“pick”覆盖为“reword”。 然后你用你的新命令覆盖有趣的 id 之后的旧消息。 然后按键盘上的“Esc”退出 INSERT 模式。现在你必须退出“VI”并保存。

      输入 :wq 然后按“ENTER”保存您的编辑。 如果您看到他们给您更多问题,请再按一次“ENTER”

      一旦你回到“$”模式,你就可以了

      git push --force
      

      祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-15
        • 2017-01-08
        • 1970-01-01
        • 2017-09-23
        • 2017-05-11
        • 2016-10-09
        • 2015-12-04
        相关资源
        最近更新 更多