【问题标题】:How to show `git log` in the editor during `git commit`?如何在`git commit`期间在编辑器中显示`git log`?
【发布时间】:2021-10-11 05:34:35
【问题描述】:

我反复发现自己在git commit 之前调用git log 以查看在进行新提交之前的最后一次提交。

有没有办法在编辑器中使用git log 的输出自动填充git commit 消息的注释掉部分?甚至可以使用-n5 之类的选项?现在,它显示了分支和暂存文件。

git: Show index diff in commit message as comment 问题非常相似,但--verbose 不显示日志。

如果相关,我使用 vim 作为我的编辑器。

【问题讨论】:

  • 您可以将光标放在注释掉的部分中的任何位置,然后执行:read !git log -n5。见:help :read
  • @romainl 有趣的解决方案,它甚至可以与打开 git 消息文件的自动命令结合使用以使其自动化。谢谢。
  • 您也可以在编辑器打开之前使用prepare-commit-msg 挂钩来编辑提交消息文件。这让您可以编写任意复杂的脚本。

标签: git vim git-commit


【解决方案1】:

可以使用--edit--file 选项自定义提交消息。 --file 选项可以使用连字符来从标准输入读取附加的提交消息文本。这对我使用 vim 效果不佳;可能是因为它没有被调用为vim -

Bash 进程替换似乎有效:

git commit --edit --file=<(git log -n5 | sed 's/^/# /')

【讨论】:

  • 谢谢,这正是我要找的,我只是添加一个别名,这样我就不必每次都输入了。
猜你喜欢
  • 2019-09-18
  • 2015-02-04
  • 2015-04-02
  • 2018-11-11
  • 2012-05-30
  • 2015-10-09
  • 2023-04-10
  • 2013-05-15
  • 1970-01-01
相关资源
最近更新 更多