Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git更新后挂钩未运行_Git_Githooks - Fatal编程技术网

Git更新后挂钩未运行

Git更新后挂钩未运行,git,githooks,Git,Githooks,首先,我知道有很多类似的问题,例如 然而,通常有两个主要问题: 1.钩子文件不可执行-已检查。下面是我的ls-l的结果: -rwxrwxr-x 1 root root 314 Sep 29 17:18 post-update 2.git工作目录未设置-已选中。以下是我的更新后钩子脚本: unset GIT_DIR cd .. echo "testing" chmod -R 755 path/to/my/target/directory 而且,即使我的路径是错误的,当我执行git pull时

首先,我知道有很多类似的问题,例如

然而,通常有两个主要问题:

1.钩子文件不可执行-已检查。下面是我的
ls-l
的结果:

-rwxrwxr-x 1 root root  314 Sep 29 17:18 post-update
2.git工作目录未设置-已选中。以下是我的更新后钩子脚本:

unset GIT_DIR
cd ..
echo "testing"
chmod -R 755 path/to/my/target/directory
而且,即使我的路径是错误的,当我执行git pull时,我希望看到单词
testing
,但什么也没有发生。我猜这意味着我的更新后钩子脚本没有运行?我错过了什么使其运行?

添加:添加--chmod=+x/--chmod=-x选项 对于
core.filemode
设置为false的存储库中的路径,将不会检测到(因此也不会设置)可执行位,尽管用户可能仍希望添加文件作为可执行文件,以与具有
core.filemode
功能的其他用户兼容。例如,添加shell脚本的Windows用户可能希望将其添加为可执行文件,以便与非Windows上的用户兼容


尽管这可以通过管道命令(git update index--add--chmod=+x foo)来完成,教授
git add
命令允许用户使用他们已经熟悉的命令设置文件可执行文件。
更新后
是一个在远程存储库中部署和运行的钩子,因此,
git pull
无法调用它。如果您的本地存储库安装了
post update
,则从另一个存储库成功推送到本地存储库可能会触发它。@ElpieKay您是对的。我应该使用
post merge
。介意给我一个答案让我接受吗?