我们使用TFS作为项目管理界面,我们使用Git来管理存储库。TFS和Git - 使用户被限制为推送代码
我们希望用户限于推送文件并推送到存储库中的分支。
例如: 在分支A,USER1不能更改文件1,用户2不能更改到file2,用户3可以在分支机构等
改变每一个文件是否有可能在TFS?
我们使用TFS作为项目管理界面,我们使用Git来管理存储库。TFS和Git - 使用户被限制为推送代码
我们希望用户限于推送文件并推送到存储库中的分支。
例如: 在分支A,USER1不能更改文件1,用户2不能更改到file2,用户3可以在分支机构等
改变每一个文件是否有可能在TFS?
TFS中可能吗?
不是我知道的。
你可以做的是设置一个中介仓库,它将作为一个关守:如果推动成功,那个仓库(through a post-receive hook)将推到实际的目标:TFS Git仓库。
这中间回购应该由授权层等管理gitolite:gitolite可以限制推到一个分支或者甚至一个文件:详见“restricting pushes by dir/file name”
的唯一途径,我可以看到你可能这样做是通过TFS server-side plugin。您可以实施订阅Git PushNotification
事件的ISubscriber
。这将允许您检查推送的提交,并阻止推送,如果您的政策不满意。但是,您必须在TFS之外的某种结构化格式中定义您的分支/用户限制。
我已经使用这个项目的成功,它提供了在推到TFS托管的Git回购实施政策一个很好的框架:
https://github.com/giuliov/GitPushFilterPlugin
唯一需要注意的(我自己的经验)是, PushNotification
事件中可用的数据量可能不足以确定IncludedCommits
所属的哪些分支。
我们无法准确设置您提到的限制,我们只能根据存在的设置相应地设置权限,请参阅类似的线程https://stackoverflow.com/questions/27989974/how-can-i-allow - 只 - 某些-人对提交 - 在视觉工作室 - 在线 –