在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钩子不能用于标记消息.(或者这个,或者我太笨了,无法知道如何去做.)
您可以创建一个别名,它首先使用所需的内容填充临时文件,然后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 并将其用作消息。