出于安全原因,我希望默认情况下禁用git hooks。
更具体地说,当我在(Kubuntu)OS帐户上的任何git存储库中运行git命令时,除非以某种方式指定,否则不应执行任何git hooks。
在Vagrant或Docker中运行我的所有代码时,我想避免的攻击是VM中的恶意代码写入git hooks目录,从而使其自身进入主机。默认情况下,禁用git hooks是防止这种情况的一道防线。
我正在寻找一种不需要每个存储库工作和状态的解决方案。在我的搜索中,我遇到了this script,它破坏了这两个要求。
理想情况下,有一个简单的解决方案,例如将其放在.bash_aliases
中:
alias git='/usr/bin/git --no-hooks'
最佳答案
在$HOME/.gitconfig
中设置core.hooksPath似乎对我有用
[core]
hooksPath = $SOME_DIR_WITHOUT_HOOKS
要启用特定 repo 的 Hook ,您可以在
$REPO/.git/config
中将其重置[core]
hooksPath = $GIT_DIR/hooks
关于git - 如何全局禁用git hooks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48135161/