我有一个问题,有一个css样式文件,这个文件不应该被开发团队的任何人修改,只有管理员(我):)
有什么办法可以锁定文件。我在提交中看到文件已更改,但我不希望这种情况发生。
我可以做什么?
我使用 gitblit 服务器,以及带有 git-extensions 的 git。
非常感谢您的回答。
我有一个问题,有一个css样式文件,这个文件不应该被开发团队的任何人修改,只有管理员(我):)
有什么办法可以锁定文件。我在提交中看到文件已更改,但我不希望这种情况发生。
我可以做什么?
我使用 gitblit 服务器,以及带有 git-extensions 的 git。
非常感谢您的回答。
这必须在服务器上完成,方法是在 Gitblit 中设置一个钩子。检查提供的接收后挂钩之一。服务器在接收到推送数据后运行一个 post-receive 钩子,如果它返回 false,则推送将被拒绝。
当脚本将被调用时,您将获得一个参考列表,请参阅示例中的如何获取提交列表
这应该让您开始获取推送中包含的文件列表:
def commits = JGitUtils.getRevLog(repository, command.oldId.name, command.newId.name)
for commit in commits:
def diffs = git.diff().setNewTree(commit.getTree())
.setOldTree(commit.getParent(0).getTree())
.call();
for diff in diffs:
def path = diff.getOldPath();
//check the extension on the path, and return false to reject the push