0

我有一个问题,有一个css样式文件,这个文件不应该被开发团队的任何人修改,只有管理员(我):)

有什么办法可以锁定文件。我在提交中看到文件已更改,但我不希望这种情况发生。

我可以做什么?

我使用 gitblit 服务器,以及带有 git-extensions 的 git。

非常感谢您的回答。

4

1 回答 1

1

这必须在服务器上完成,方法是在 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
于 2013-07-25T19:57:50.070 回答