簡體   English   中英

由於批准機制,從SVN遷移到GIT

[英]Migration from SVN to GIT due to approval mechanism

我們目前正在一個非開源項目中,由大約50人組成的團隊,平均每天進行20-30次提交。 由於其中有些人是初級開發人員,因此我們必須實現一個不允許所有人都提交到主存儲庫的系統。

到目前為止,我們一直在使用具有以下結構的SVN:

  • 主干-包含所有開發人員代碼
  • 分支-包含所有經過驗證的代碼

有時,一位高級開發人員會“進入”主干並將其與分支合並,從而拒絕所有未批准的代碼(當有很多未批准的代碼要還原時,這會變得很瘋狂)。 最后,當干線僅具有批准的代碼時,兩者之間將完全合並。

最近,我們開始使用Git和GitLab進行一些測試,以查看是否值得從SVN遷移Git批准系統,以減輕所有合並的瘋狂。

起初它看起來很有希望,但是過了一會兒我們得出了一個令人失望的結論,那就是沒有神奇的公式 我們創建了一個受保護的master分支,只有高級開發人員可以訪問將更改推送到其中,但是出現了問題部分……初級開發人員。

也許是因為我們對SVN方式非常習慣,所以發現的唯一解決方案是創建一個“分支” ,但這基本上可以模仿SVN已經存在的行為(和頭痛)。

請告訴我,我們缺少某些內容,或者我們是否以錯誤的方式處理問題。

編輯當我說批准的代碼時,我指的是對所有類結構的驗證,正確的對象實例化……而不是如果換行符,制表符(及類似內容)是正確的。

由於VREF ,當GitLab使用Gitolite時,這種策略很容易設置。

您可以將更新掛鈎與gitolite規則(可以為一組稱為“ juniors”的用戶(在GitLab中的團隊)定義)相關聯,並執行所需的任何策略。

但是從GitLab 5.x開始,不再使用gitolite, gitlab-shell管理權限。
希望將解決第14期
同時,您需要自己實施和部署一個更新掛鈎,以便為初級開發人員強制執行到特定分支的策略。

如前所述,另一種方法是:

  • 不將上述初級開發人員添加到項目中
  • 分支(在服務器上克隆)項目:該功能目前正在為GitLab V5開發( 發行3382
  • 現在發出拉取請求(稱為“合並請求”)。

考慮到GitLab的當前開發狀態​​, Git管理軟件還無法提供所需的一切。

將那些存儲庫(主要的存儲庫和供初級開發人員使用的存儲庫)與Gerrit這樣的審閱系統相結合可能是一種更明智的方法( 這里是對該組合的有趣批評 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM