gpt4 book ai didi

Windows 上的 GIT Hook 与批处理

转载 作者:太空狗 更新时间:2023-10-29 14:42:40 55 4
gpt4 key购买 nike

我正在尝试创建一个 git 钩子(Hook)规则,只有在文件 myexamplefile.txt 发生更改时才能提交。

我将文件 .git\hooks\commit-msg 设置为:

for /f "tokens=*" %i in ('git status ^| find /c "AssemblyInfo.cs"') do set x=%i
if %x% (
echo "nice"
exit 0
)
else (
echo "it's bad"
exit 1
)

我在这段代码中工作了一段时间,但我遇到了几个错误,现在我得到:

line 28: syntax error near unexpected token `"tokens=*"'

我怎样才能写这个钩子(Hook)?重要的是要注意我在 windows 环境中。

最佳答案

默认情况下,任何 git 钩子(Hook)都将在 bash session 中执行,而不是在 CMD session 中执行。
在 Windows 上,Git for Windows embedded bash 将解释 Hook 脚本。

所以尝试在 bash 中重写你的钩子(Hook):

#!/bin/bash

f=$(git status | grep "AssemblyInfo.cs")
if [[ "${f}" != "" ]]; then
echo "nice"
exit 0
else
echo "darn it"
exit 1
fi

关于Windows 上的 GIT Hook 与批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49032756/

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