使用gitflow时保持干净的git历史记录-开发中未合并的提交


9

使用gitflow时,在创建release-1.0.0分支并将其合并到master和时develop,两个分支都将缺少提交:

  • master不会有release-1.0.0合并到的提交develop
  • develop不会有release-1.0.0合并到的提交master

相反,在hotfix-1.0.1创建并合并到之后master,在将其合并到时develop要合并提交将包括先前release-1.0.0合并到的提交master;所以它看起来像这样:

User 'john doe' is trying to merge the following commits into 'develop' from 'hotfix-1.1.1'.

* merge release-1.0.0 to master
* merge release-1.1.0 to master
* Fix shopping cart critical bug

如果这听起来有点混乱,你很容易就注意到这个everytie你看到的develop通常是一对夫妇后面的提交master(即使开发,从理论上说,应该只有提前,因为它的主要分支。这些提交的合并从release-x.x.xmaster)。

应该如何处理以保持干净的历史记录?


请定义“清除历史记录”。
杰斯·布朗宁

3
想要干净的历史吗?不要使用gitflow。从定义上讲,它污染了您的历史。相反,请考虑您真正需要的内容并围绕它构建工作流,以便它实际上适合您的工作方式。
FP

1
合并到母版将是“副本”,无需合并即可进行开发。从先前的发行分支而不是母版进行修补,然后从那里合并到两者,这样就不会出现问题。船长并没有为模型增加太多,因此您可以将其完全删除,IMO。
axl

@axl我理解您的意思,但是我正在尝试尽可能接近gitflow的文档。我宁愿不做任何形式的“ hackz”,因为许多开发人员已经采用了gitflow,所以他们应该已经为这种简单的事情找到了解决方案
Christopher Francisco

在GitHub和其他地方,有一些关于如何使用GitFlow解决各种问题的讨论。有时只是没有灵丹妙药。
axl

Answers:


4

我认为一种好的方法是避免拥有两个“主”分支,而主分支和开发分支则是多余的。在此cactus-flow以作者为品牌进行了详细说明。

与git-flow相反,有些要点很突出:

  • 只是一个主要分支
  • 仅快速合并

对我来说,最后一个很重要,因为使用git-flow很长时间之后,我还没有看到关于--no-ff合并有什么用。

我正在尝试尽可能接近gitflow的文档。我宁愿不做任何形式的“ hackz”,因为由于gitflow已被许多开发人员采用,因此他们应该已经有解决此简单问题的方法

恕我直言,这是您的大错误。没有理由让您尽可能地坚持git-flow。它可能在成千上万的项目中使用,但这不会影响您的项目,也不会使它变好。

Git-flow是一个很好的起点,但是您应该考虑使其适应您的工具和工作流程,而不是反过来。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.