有没有更好的方法防止用户在推送或直接创建文件时创建顶级目录?
update
或pre-receive
hook钩子来完成。pre-commit
钩子可以通过使用"git commit --no-verify"绕过。contrib/hooks
)和gitolite(管理对git存储库的访问权限工具)都可以扩展以支持它。两者都可以进行基于路径/差异的限制,例如仅允许更改给定配置的子目录。你可以尝试使用客户端钩子,比如
pre-commit
钩子是在你输入提交信息之前运行的第一个钩子。
它用于检查即将提交的快照,以查看是否有遗漏,确保测试运行正常,或者检查您需要检查的代码内容。从这个钩子中退出非零会中止提交,但您可以通过git commit --no-verify
绕过它。
请参阅此高级pre-commit钩子示例,了解可以在检查索引内容方面做什么。
如果你真的想要对主代码库有那种程度的控制权,就不要让其他人往里面推送。相反,让管理员从其他用户那里拉取并审查他们的更改,以确保他们没有违反政策。