我在 git 中有一些用于實驗代碼的個人目錄,但其他人可能也會感興趣。例如目錄/personA和/personB. 我怎樣才能實作以下目標:
- 每個人都可以像往常一樣在他的個人目錄中修改和提交更改
- 每個人都可以看到所有目錄
- 但是,沒有人應該能夠在其他人的目錄中推送更改(它可以是一種“軟”解決方案,以防止意外發生這種情況)
其他人的目錄可能是只讀的,或者那里的更改總是會被結果覆寫git pull。
uj5u.com熱心網友回復:
tl; dr:您可能能夠實作您的目標,但這將取決于 SCM 工具。
正如評論中提到的,Git 本身并不像您描述的那樣強制執行規則;由倉庫副本的維護者來控制這些型別的規則。每個克隆 repo 的開發人員都會成為他們自己的 repo 副本的維護者,因此您無法控制他們對自己的 repo 的操作。但是,如果您控制服務器上的存盤庫(例如 GitHub、GitLab、AzureDevops、BitBucket 等),您可以根據工具提供的內容強制實施某種型別的安全性。有時您可以使用服務器端掛鉤或額外的狀態檢查和自定義策略來擴展默認安全配置選項。
關于這個目標:
...沒有人應該能夠在其他人目錄中推送更改
盡管可以通過服務器端設定和自定義掛鉤來實作這一點,但請注意,這種型別的塊并不典型(根據我的經驗)。相反,更常見的是鎖定特定的共享分支,除非滿足某些條件,否則會阻止合并到這些分支中。當共享分支以這種方式被鎖定時,通常沒有人可以直接推送到它們,并且使用拉取請求來合并來自另一個分支的更改。因此,典型的情況是任何人都可以將任何型別的更改推送到他們自己的分支,但該策略將強制只有某些人才能修改共享分支上的特定檔案,因此如果這些檔案將被阻止 PR包含在要合并的分支中。請注意,您的目標仍然達到,但塊發生在“
uj5u.com熱心網友回復:
你不能這樣做,因為如果人有權訪問 git 存盤庫,則人可以修改存盤庫中的所有檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/426168.html
標籤:混帐
下一篇:解決添加合并沖突
