生成 git COMMIT_EDITMSG 文本内容,但不执行其他操作

问题描述 投票:0回答:1

当您在没有

git commit
标志的情况下运行
-m
时......
git
会为您执行 所有 操作:

  1. 根据工作目录的当前状态生成一些内容以显示在编辑器中,每行带有
    #
    前缀,因为当您退出编辑器时,此信息不应出现在提交消息中
  2. 将此生成的内容保存到名为
    COMMIT_EDITMSG
  3. 的文件中
  4. 使用
    $EDITOR
    文件打开您的
    COMMIT_EDITMSG
  5. 当您退出编辑器时,它会立即提交

有没有一个命令只做:

  • 上面#1
  • 然后将该文本内容打印到
    STDOUT
    -或者- 将其写入我指定的自定义文件名
  • ...但是没有什么吗?

我想可以选择只运行

git status
并编写一些文本转换代码来插入
#
前缀等...但是如果只有一个简单的命令对我来说完全是#1,格式与
git commit
本来就可以做到,那就太酷了。

我需要能够在 Windows + Linux 上执行此操作。

git git-commit git-status commit-editmsg
1个回答
0
投票

您可以“欺骗”

git-commit
来为您做到这一点:

GIT_EDITOR=false git commit ; cat .git/COMMIT_EDITMSG
© www.soinside.com 2019 - 2024. All rights reserved.