2017-08-29 18 views
0

我正在尋找有效的方式來使用具有高級訪問權限的GIT工作流程。 工作流程如下:http://nvie.com/posts/a-successful-git-branching-model/但可以採取更簡單的替代方法來理解下一段中描述的實際需求。使用高級訪問控制實現GIT工作流是否可行?

看來我需要的是配置每個開發人員的文件/目錄權限(可能不包括「列表」權限,但只有讀寫如果沒有「讀」權限意味着DEV根本不會看到文件/目錄)。這樣我就可以與開發人員分享足夠多但有限的軟件。第二件重要的事情是,他仍然可以發送合併請求,但只能在允許的目錄/文件中添加和/或修改源代碼。

要聚合的問題是:有沒有辦法使用給定的GIT中的工作流程,以部分共享資源庫,並且仍然使用Git倉庫的全部潛能的能力。 Git模塊和子樹效率不高,似乎是用於其他用例,因爲它們會犧牲存儲庫的能力。

回答

1

有在git的目錄級權限的支持。訪問通常由git(文件系統ACL,Web服務器身份驗證,由GitHub,GitLab,TFS,Bitbucket管理的權限)之外的東西控制,但即使如此,提交也是或多或少的原子單元,我從來沒有聽說過任何git主機會嘗試在提交中提供訪問控制。

如果你想不同的用戶有機會獲得該項目的不同部分,我能想到的唯一的解決辦法是使用多個回購。

如果你可以將沿着目錄線,您可能能夠設置的東西了子樹或子模塊,讓你可以有你的「完全訪問」回購自動拉在一起的一切。這不會是無縫的,但你可以做一些工作。

如果那樣的劃分是不可行的,那麼問題就大很多。在這種情況下,整個項目的版本X必定是與開發人員可用文件子集的版本X分開的提交。您的「完全訪問」回購可以保留兩套提交,但在兩者之間同步更改仍然是一項非常重要的工作。

可以並處任何你想要的那種控制在回推到你的倉庫(使用掛鉤);但如果規則是開發人員無法看到或甚至沒有意識到某些文件,那麼使用git並不容易。

+0

您的評論正在確認我的觀點。在做出最終決定之前我有更多的時間,我會把問題留待比。謝謝。 – kanevbgbe

+0

你是否知道一個工具/工具鏈可以實現這一點,不管git如何,甚至可以用另一個SCM工具替代git,如果更好地達到目的? – kanevbgbe

相關問題