需要阻止root更新git(工作)目录。推理包括但不限于:防止不合适的文件系统所有权更改。
在发生之前,没有任何git钩子似乎阻止获取/合并/拉动,类似于预提交钩子。或者至少,我在这里(或在手册页中)看不到任何内容: http://www.analysisandsolutions.com/code/git-hooks-summary-cheat-sheet.htm
思想?
答案 0 :(得分:10)
更改/root/.bashrc
以将新目录添加到PATH
的开头。添加一个名为git
的shell脚本,测试$1
是少数只读命令之一(show / status / log / rev-list等),如果命令则调用/usr/bin/git "$@"
是可以接受的这样可以防止团队中的任何人以root身份意外运行git pull
。如果你担心他们故意这样做,你会遇到更大的问题......
答案 1 :(得分:4)
我看到这个没有解决但至少“缓解”的唯一方法是通过git命令的包装器:
所有git命令都会通过此包装器,如果用户标识不是root,则会继续执行此操作。