查看&只能访问存储库中的一个分支

时间:2017-07-19 12:03:44

标签: git-branch tfs2015

在VSTS中,Repository中有多个分支可用。我只需要为团队提供一个分支访问权限。在没有读取权限的权限设置中,该团队可用于查看存储库。

我可以看到允许贡献的分支设置。没有读取权限,团队无法查看存储库。如果我启用了read,那么他们可以查看repo中的所有分支。

我需要团队不要在除一个分支之外的存储库中查看任何分支。有人可以建议最好的方法。

4 个答案:

答案 0 :(得分:1)

这不是Git的工作方式。分支只不过是提交的指针。您可以阻止人们将更改推送到特定分支,并且您可以阻止人们完全访问存储库,但克隆存储库会导致整个事情,包括历史记录,并且无法阻止人们查看内容存储库一旦有了它的副本。

我怀疑这是一个XY问题。您遇到了一个问题,并且您已经决定只为给定团队提供访问单个分支的权限是解决问题的正确方法。我建议提出一个新问题,重点是寻找核心问题的解决方案。

答案 1 :(得分:1)

与其尝试限制对分支的访问,您可以多次分叉一个 repo,并允许所需人员访问分叉的 repo。

答案 2 :(得分:0)

让你的朋友只克隆一个分支。

git clone -b branch_name --single-branch https://usr@github.com/usr/repo.git

现在您无法查看其他现有分支机构。但是您可以为您的特定分支创建帮助分支。

答案 3 :(得分:0)

作为Daniel mentioned,如果有人能够获得一个分支,那么所有的历史记录 他/她也可以使用其他分支机构。

但是,如果该团队有一个不同的存储库( RepoB ),其中一个成员(例如您)可以访问这两个存储库(RepoB和私有存储库, RepoA < / strong>)在团队不应访问的服务器中,可以自动编写批处理脚本:

  1. 从RepoA克隆分支;
  2. 将此代码复制到来自RepoB 的一个特定分支,该分支仅包含来自RepoA分支的最新代码;
  3. 将此代码推送到相同的RepoB分支,并通知团队他们现在可以与他们的开发分支合并(可能使用conservative merging strategy, e.g. patience?)
  4. 也可以编写类似的批处理脚本来执行逆过程,即可以使用RepoB开发分支中的代码更新RepoA的分支。