【问题标题】:TFS and Git - Making users be limited to push codeTFS 和 Git - 限制用户推送代码
【发布时间】:2017-06-16 04:48:08
【问题描述】:

我们使用 TFS 作为项目管理接口,我们使用 Git 管理存储库。

我们希望限制用户推送文件并推送到存储库中的分支。

例如: 在分支 A 中,user1 不能对 file1 进行更改,user2 不能对 file2 进行更改,user3 可以更改分支中的每个文件等等。

在 TFS 中可以吗?

【问题讨论】:

标签: git tfs push restrictions


【解决方案1】:

在 TFS 中可以吗?

我不知道。

您可以做的是设置一个中间存储库,它将充当看门人:如果推送成功,该存储库 (through a post-receive hook) 将推送到实际目标:TFS Git 存储库。

该中间存储库应由 gitolite 之类的授权层管理:gitolite 可以限制推送到分支甚至文件:请参阅“restricting pushes by dir/file name

【讨论】:

    【解决方案2】:

    我能看到你这样做的唯一方法是通过TFS server-side plugin。您可以实现订阅 Git PushNotification 事件的 ISubscriber。这将允许您检查推送的提交并在您的策略不满意时阻止推送。但是,您必须在 TFS 之外以某种结构化格式定义您的分支/用户限制。

    我已经成功使用了这个项目,它提供了一个很好的框架来实现推送到 TFS 托管的 Git 存储库的策略:

    https://github.com/giuliov/GitPushFilterPlugin

    唯一需要注意的是(根据我自己的经验),PushNotification 事件中可用的数据量可能不足以确定IncludedCommits 属于哪些分支。

    【讨论】:

      猜你喜欢
      • 2015-06-13
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      相关资源
      最近更新 更多