2017-06-16 76 views
2

我們使用TFS作爲項目管理界面,我們使用Git來管理存儲庫。TFS和Git - 使用戶被限制爲推送代碼

我們希望用戶限於推送文件並推送到存儲庫中的分支。

例如: 在分支A,USER1不能更改文件1,用戶2不能更改到file2,用戶3可以在分支機構等

改變每一個文件是否有可能在TFS?

+0

我們無法準確設置您提到的限制,我們只能根據存在的設置相應地設置權限,請參閱類似的線程https://stackoverflow.com/questions/27989974/how-can-i-allow - 只 - 某些-人對提交 - 在視覺工作室 - 在線 –

回答

0

TFS中可能嗎?

不是我知道的。

你可以做的是設置一箇中介倉庫,它將作爲一個關守:如果推動成功,那個倉庫(through a post-receive hook)將推到實際的目標:TFS Git倉庫。

這中間回購應該由授權層等管理gitolite:gitolite可以限制推到一個分支或者甚至一個文件:詳見「restricting pushes by dir/file name

0

的唯一途徑,我可以看到你可能這樣做是通過TFS server-side plugin。您可以實施訂閱Git PushNotification事件的ISubscriber。這將允許您檢查推送的提交,並阻止推送,如果您的政策不滿意。但是,您必須在TFS之外的某種結構化格式中定義您的分支/用戶限制。

我已經使用這個項目的成功,它提供了在推到TFS託管的Git回購實施政策一個很好的框架:

https://github.com/giuliov/GitPushFilterPlugin

唯一需要注意的(我自己的經驗)是, PushNotification事件中可用的數據量可能不足以確定IncludedCommits所屬的哪些分支。