阻止特定的文件在Git仓库中部分用户(block specific file for some us

2019-10-29 15:08发布

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

有什么办法可以锁定文件。 我已经看到了提交,该文件已被更改,但我不希望这种事情发生。

我可以做什么?

我用gitblit服务器,和git使用git的扩展。

非常感谢你对你的答案。

Answer 1:

这必须在服务器上完成,通过建立内Gitblit钩 。 检查所提供的邮寄方式收到的钩子之一 。 一个后收到钩是由服务器运行推送数据已被接收后,如果返回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


文章来源: block specific file for some users in Git repository