2017-08-26 41 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