一个奇怪的问题,.git/hooks
目录中的脚本(例如post-commit
,post-merge
等)会松开+x
标记,导致它们无用。
环境是macOS。 Git版本为2.15.1
,git lfs版本为git-lfs/2.3.4 (GitHub; darwin amd64; go 1.9.1)
对问题进行排查我发现即使我手动运行chmod a+x .git/hooks/*
,也要验证所有文件都设置了x
,然后执行git checkout <whatever>
,x
是重置并消失。无论我是结帐master
还是某个分支,都会这样做。
此外,即使运行git lfs install
也无法解决问题,并且在命令运行后(标准消息写入控制台),命令不会+x
放在这些文件上。
解决此问题的方法是什么?