如何在git中标记结帐后chown / chmod?

时间:2015-11-18 16:42:47

标签: git git-checkout git-tag

在实时环境中,我需要获取标签并在它们之间切换。每次切换后,我都需要chown / chmod worktree中的所有文件。

我创建了一个IE=edge挂钩

post-checkout

#!/bin/bash chown -R www-data:www-data public/ find public/ -type f -exec chmod 400 {} \; find public/ -type d -exec chmod 500 {} \; 目录在公共目录之外,所以我将以下内容添加到git配置中。

.git

现在我执行以下命令

worktree = /var/www/site/public

# git fetch --tags # git checkout 0.0.1 挂钩未执行。怎么了?

另一个问题:钩子的相对路径是什么?它是post-checkout所在的目录,还是.git

1 个答案:

答案 0 :(得分:1)

检查您的.git/hooks/post-checkout是否设置了可执行标志,否则执行chmod +x .git/hooks/post-checkout。 钩子的当前工作目录作为存储库根目录(.git所在的目录)。

您可以通过编写一个非常简单的钩子

来验证您实际执行了钩子以及它当前的工作目录
#!/bin/sh
pwd
echo "This is post-checkout hook"