需要防止管理员更新一个Git(工作)目录。原因包括但不限于:防止不必要的文件系统所有权更改。
在发生操作之前,似乎没有任何git钩子可以像预提交钩子一样防止执行拉取/合并/获取等操作。或者至少,我在这里(或man页面中)没有看到任何内容: http://www.analysisandsolutions.com/code/git-hooks-summary-cheat-sheet.htm
有什么想法吗?
需要防止管理员更新一个Git(工作)目录。原因包括但不限于:防止不必要的文件系统所有权更改。
在发生操作之前,似乎没有任何git钩子可以像预提交钩子一样防止执行拉取/合并/获取等操作。或者至少,我在这里(或man页面中)没有看到任何内容: http://www.analysisandsolutions.com/code/git-hooks-summary-cheat-sheet.htm
有什么想法吗?
更改/root/.bashrc
,将新目录添加到PATH
的开头。在那里添加一个名为git
的shell脚本,该脚本测试$1
是否是几个只读命令之一(show/status/log/rev-list等),如果可接受,则调用/usr/bin/git "$@"
。这将防止您团队中任何人意外地以root身份运行git pull
。如果您担心他们故意这样做,那么您有更大的问题......
我认为这个问题至少可以通过一个git命令的包装器来“缓解”:
所有的git命令都通过这个包装器进行,如果用户ID不是root,则继续执行。