有没有办法准备git标签消息?

igo*_*gor 5 git git-tag

在git中添加新标记时,我想在$ EDITOR激活之前自动修改默认(空)标记消息 - 类似于git允许通过prepare-commit-msg钩子准备提交消息的方式.

例如:

git tag -s v1.2.3
Run Code Online (Sandbox Code Playgroud)

应该用预填充的内容打开我的编辑器,如下所示:

Release v1.2.3:

  * Dynamically generated message 1

  * Dynamically generated message 2

Default standard text.

#
# Write a tag message
# Lines starting with '#' will be ignored
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?不幸的是,prepare-commit-msg钩子不能用于标记消息.(或者这个,或者我太笨了,无法知道如何去做.)

mar*_*t1n 4

您可以创建一个别名,它首先使用所需的内容填充临时文件,然后git tag使用选项-F <file>/运行--file=<file>,将临时文件的内容提供到标记消息中。理论上,是这样的:

[alias]
    tag-prepare = !~/bin/prepare_file.sh && git tag --file="/home/user/temp/temp.txt"
Run Code Online (Sandbox Code Playgroud)

然后你可以用 来调用它git tag-prepare v1.2.3

请注意,prepare_file.sh脚本需要创建整个标签消息,因为该--file选项不再打开编辑器来编辑内容,它只需要提供的文件中的 w/e 并将其用作消息。