根据服务器时间禁用“git commit”

根据服务器时间禁用“git commit”

有没有办法git commit在服务器时间到达上午 11 点时禁用并在下午 2 点时重新启用?

或者对除特定数量的用户之外的所有用户禁用 git push

答案1

哇哦,你要重写整个二进制文件!?!你不如用脚本替换 /usr/bin/git,然后让脚本根据服务器时间拒绝提交。

答案2

为了git push部分“预接收钩子”在远程仓库中。

“不提交”以安全的方式是不可能的,所以无论您选择什么,用户都可以绕过它!

a)“预提交钩子”在 git 中。

b)alias git在您的 .profile 中,并在其间放置一个包装器,打印“否”或绕过git原始参数。

--

或者您正在寻找具有权限和其他内容的远程存储库?请查看gitolite

答案3

我还没有测试过,但是如果你删除了对执行更改的用户和组的 git repo 文件夹的写入权限,会发生什么情况?我猜 git 会以某种方式抱怨并告诉用户它无法成功执行命令,但拉取和签出仍然是可能的。

当然,正确的用户取决于访问存储库的方式。如果通过 http 推送,则可能是 Web 服务器的用户和组,例如,在我的 Debian 和 Apache 上称为 www-data。

相关内容