如何拒绝对git分支的读取访问(使用第三方工具)

如何拒绝对git分支的读取访问(使用第三方工具),git,Git,如何使用第三方工具拒绝对某些git版本的分支/文件或文件夹的读取访问 我知道git本身是不可能的,这一点已经被反复询问,答案总是: “你不能。你只能通过git钩子拒绝写访问。” 我读到gerrit能够做到这一点,因为他们有自己的sshd和git deamon 背景: 我想主持一个编码活动。 对于每个任务/挑战,参与者将能够克隆模板和说明(分支任务1)。 然后,他们可以修改模板并针对提供的测试集运行它。 当他们决定提交他们的工作时,他们可以推送代码。服务器端钩子将编译程序,在另一个测试集(分支ta

如何使用第三方工具拒绝对某些git版本的分支/文件或文件夹的读取访问

我知道git本身是不可能的,这一点已经被反复询问,答案总是: “你不能。你只能通过git钩子拒绝写访问。”

我读到gerrit能够做到这一点,因为他们有自己的sshd和git deamon

背景:

我想主持一个编码活动。 对于每个任务/挑战,参与者将能够克隆模板和说明(分支任务1)。 然后,他们可以修改模板并针对提供的测试集运行它。 当他们决定提交他们的工作时,他们可以推送代码。服务器端钩子将编译程序,在另一个测试集(分支task1_测试)上运行它,并将获得的分数返回给提交者。此外,服务器将把用户解决方案合并到另一个分支(task1\u解决方案)。从那时起,我希望允许用户查看task1_测试和task1_解决方案的分支,这样他就能够将自己的解决方案与其他解决方案进行比较。但是,当他还在研究他的解决方案时,他不应该能够克隆这些分支

一种解决方案是加密我想要隐藏的分支,并在提交响应中返回解密密钥和他的分数(另请参见:)


有没有更好的方法实现同样的目标?

您可以使用创建对git服务器的访问控制。它可以使用(或者你可以使用separte存储库,就像gitolite的部分副本一样)。

如果答案“你不能”已经被反复给出,那么有什么逻辑意味着再问一次问题会改变答案?您当然可以使用第三方工具,如
gerrit
(可能还有其他工具),但是
git
没有这样的功能,考虑到
git
的核心开发人员/维护人员的心态,可能永远也不可能有这样的功能……您是对的,也许我应该补充一下“使用第三方工具”来解决这个问题。