gpt4 book ai didi

Git 别名 : append string to commit message

转载 作者:行者123 更新时间:2023-12-04 16:49:35 26 4
gpt4 key购买 nike

为了防止我们的 CI 系统在每次提交时都构建,我们必须在每次提交的末尾附加 [skip ci] (git commit -m "... [skip ci ]").

是否可以为此创建别名?

我一直在玩:

[alias]
cms = !git commit -m "${1} \[skip ci\]" $1

最佳答案

Commit Message Hooks

我会考虑用 y/n 提示用户是否要从钩子(Hook)中跳过 CI,而不是别名。

我的 bash mojo 不够好,无法知道您是否可以通过 Git 别名实现您想要完成的目标。

非常粗糙的示例代码。有效,但不涵盖所有情况。

将其放入 .git/hooks/prepare-commit-msg 并确保它是可执行的

#!/bin/sh
exec < /dev/tty
echo "Skip CI?"
select yn in "Yes" "No"
do
case ${yn} in
"Yes")
echo "[skip ci]" >> $1
break;;
"No")
break;;
esac
done

这是运行提交时发生的情况。如果您键入“2”表示否,提交将正常进行,如果您键入“1”,则它会添加您的 skip ci 消息。需要扩展一个合适的解决方案来处理 merge 提交、提交模板等事情。

(master)$ git commit -m "also junk"
Skip CI?
1) Yes
2) No
#? 1
[master bfa5200] also junk [skip ci]]
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bar
me@myvm:/scratch/commit_msg (master)$ git log
commit bfa5200096f7251e2dc8fc457af81c59519901f3
Author: Andrew C <andrew.c@nowhere.com>

also junk
[skip ci]

关于Git 别名 : append string to commit message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26161469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com