我正在嘗試確定Gerrit上的多個分支機構的適當工作方式,以符合我們的工作流程。Gerrit:與多個分支合作並傳播更改
我們現在與分支機構合作的方式是:我們有主人&功能分支。碩士是我們想要打磨的分支,並準備發佈,而功能顯然是一個密集的工作領域。現在,在我們的特定情況下,每當有人工作在一個bug修正,它們:
- 創建針對主分支的變化
- 櫻桃它挑到特性分支目標改變
- 一次格里特代碼審查完成後,提交兩個更改。
現在我明白櫻桃選擇的方式,它選擇單個提交併將其合併到當前更改中。如果是這樣的話,我希望最終沒有合併衝突,事實上,這個工作流程完全適用於GIT。然而,Gerrit最有可能歸因於其本質(分支機構不是以遠程方式合併,而是獲得不同的sha標籤),最終列出了大量衝突文件。
現在,我解決了所有這些問題,通過應用合併策略(我們的功能,他們對主),但它不覺得正確:如果沒有傳播任何東西,它只是被丟棄。
我的問題是:是否有安全工作流程,類似於上述那樣,最終會產生與gerrit的乾淨合併?
不,事實並非如此。然而,你說什麼和我們做什麼之間是有區別的。不同之處在於:我們通常會在推動審查之前挑選變化(所以在本地)。也許這就是問題..? 事情是,有些人甚至在創建櫻桃挑選(大提交)之前獲得批准,並且它仍然顯示爲衝突。我相信可能會發現我們需要挑選提交的更改,而不是本地分支機構。 – 2012-08-02 11:43:34
在推動審覈之前或之後選擇櫻桃選擇應該沒有關係。我不確定在創建櫻桃選擇前獲得批准是什麼意思。 – Brad 2012-08-03 13:26:51
當您將更改推送到gerrit時,這些更改不會立即合併。相反,他們是特定分支的候選人,當您「提交」您的補丁集時,將這些分支合併到這些分支中。這意味着合併不會在您的本地存儲庫中完成,並且它似乎也獲得了單獨的SHA總和(我不太深入研究gerrit細節,因此我不知道它爲什麼會發生)。我認爲我們的選秀權和這些偏僻的基金之間沒有任何關聯,基金會不瞭解發生了什麼(它看到兩個分支都發生相同的變化,並將它們視爲衝突) – 2012-08-09 11:22:08