如何使用git别名为git commit消息添加自定义前缀?

qmb5sa22  于 2023-05-12  发布在  Git
关注(0)|答案(1)|浏览(251)

假设我想让我的提交更 * 花哨 *。每个提交都有一个特殊的前缀类型,包含在“-”符号中。例如:

-feat- : Added new feature
-fix- : Fixed this annoying bug
-refactor- : Refactored this piece of code
-chore- : Wrote some tests

我想使用git别名i自动化所有这些前缀。e.为每种类型创建自定义命令:comfeatcomfixcomrefcomchore
到目前为止,我尝试过这样做:

comfeat = "!f() { git add --all && git commit -am '-feat- : ${1}'; }; f"

当我尝试调用这个命令时,我会得到这个:

PS D:\Projects\Test> git comfeat "Added new feature"
[master 9fcb0c9] -feat- : ${1}

P.S.我对bash/shell没有任何先验知识,所以任何帮助都将非常感谢。
P.S.S.我见过有人使用git钩子来提取分支名称并将其前置到提交中,但我独自在项目上工作,所以我没有为我正在工作的每个功能提供很多分支。

jv4diomz

jv4diomz1#

所以,经过一些挖掘和ChatGPT的帮助下,我实际上找到了解决这个问题的方法。我的.gitconfig文件的alias部分的最终版本看起来像这样:

[alias]
    comfeat = !sh -c 'git add -A && git commit -m \"-feat- : $1\"' -
    comfix = !sh -c 'git add -A && git commit -m \"-fix- : $1\"' -
    comchore = !sh -c 'git add -A && git commit -m \"-chore- : $1\"' -
    comref = !sh -c 'git add -A && git commit -m \"-refactor- : $1\"' -

现在我可以输入:

git comref "Refactored user class."

我的commit消息看起来像这样:

[master 0ba3e4c] -refactor- : Refactored user class.

相关问题