2017-08-26 43 views
0

我試圖使用Gitflow Workflow,這是我第一次遇到閱讀comparison of workflows at Atlassian。主要想法是開發是在develop分支上完成的,該分支包含從特徵分支合併的所有修改,然後我們將develop合併到master中。這種方式功能分支從不直接與我們的masterGit:squash與DAG合併

我想達成什麼是有一個乾淨的歷史master分支僅釋放犯。所以新的提交應該只在版本更改時添加,但我仍然希望在git樹上看到合併的位置。 普通合併通常會自己提交一些提交,並且在歷史記錄中會出現一些提交,而不僅僅是一個新的提交。 壁球合併能夠解決問題,他們將所有更改壓縮到一個提交,但是,他們搞砸了我的git樹,因爲壓縮合並不會以合併提交結束,但普通提交只有一個父代沒有顯示兩個分支之間的連接。 (這傻瓜的GitHub以爲master背後develop爲好。)

我想要的master這個樣子的歷史: master

develop歷史: develop

的Git樹: Git tree

有沒有辦法讓南瓜合併(兩個父母創建一個DAG(定向非循環圖)並連接兩個合併分支,這意味着我的git樹會告訴我在哪一點develop(或release)分支合併到master

回答

0

Oridinary合併正是你所要求的 - 壓扁的改變與鏈接到源分支。如果你不想看到合併的提交,你只需要請求它。您可以提供--first-parent參數git log命令,它不會將他們輸出:

git log --first-parent origin/master 

PS:集束gitk,也sourcetree/macosgitextensions特性被支持。這不是由我的知識實現的公共Web服務,但對於「bitbucket服務器」付費獨立服務器應該是插件這樣做。

+0

是的,但在GitHub或任何客戶端與GUI的方式仍然會出現所有的提交,即使那些我不想在那裏... – Rimplot

+0

爲UI客戶端有一些希望,看到我的PS – max630