2017-07-19 80 views
1

在VSTS中,存儲庫中有多個分支可用。我只需要提供一個團隊的一個分支。在沒有讀取權限的權限設置中,團隊可用於查看存儲庫。僅查看和訪問存儲庫中的一個分支

我可以看到允許貢獻的分支設置。如果沒有讀取權限,團隊無法查看存儲庫。如果我啓用閱讀,那麼他們可以查看回購中的所有分支。

我需要團隊不要查看除一個分支以外的存儲庫中的任何分支。有人可以建議最好的方法嗎?

回答

1

這不是Git的工作方式。分支只不過是指向提交的指針。您可以阻止人們將更改推送到特定的分支,並且可以阻止人們完全訪問回購,但克隆回購可以帶來整個事情,包括歷史,並且無法阻止人們查看內容一旦他們有一個副本的存儲庫。

我懷疑這是一個XY問題。你有一個問題想要解決,並且你已經決定只給予一個給定團隊的一個分支是解決問題的正確方法。我建議提出一個新的問題,重點是尋找核心問題的解決方案。

+0

有沒有一種方法可以訪問給定團隊的單個分支? – KRH

+0

不。這不是Git的工作原理。 –

0

讓你的朋友克隆只有一個分支。

git clone -b branch_name --single-branch https://[email protected]/usr/repo.git 

現在您無法簽出其他現有分支。但是您可以爲您的特定分支創建幫助分支。

0

由於Daniel mentioned,如果某人能夠獲得一個分支,所有的歷史 和其他分支也可用於他/她。

然而,如果團隊在一個服務器不同的版本庫(RepoB),其中的成員(你,例如)中的一個同時訪問存儲庫(RepoB和私營之一,RepoA)表示,團隊不應該訪問,批處理腳本可以被自動寫​​入:

  1. 從RepoA克隆分支;
  2. 將此代碼複製到來自RepoB的一個特定分支,該分支僅具有來自RepoA分支的最新代碼;
  3. 推這個代碼到同一RepoB的分支,並通知球隊,他們現在可以與他們的開發分支合併(可能使用conservative merging strategy, e.g. patience?)

類似的批處理腳本可也寫入到執行相反的過程,即RepoA的分支可以使用來自RepoB開發分支的代碼進行更新。

相關問題