使用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.x
到master
)。
应该如何处理以保持干净的历史记录?
请定义“清除历史记录”。
—
杰斯·布朗宁
想要干净的历史吗?不要使用gitflow。从定义上讲,它污染了您的历史。相反,请考虑您真正需要的内容并围绕它构建工作流,以便它实际上适合您的工作方式。
—
FP
合并到母版将是“副本”,无需合并即可进行开发。从先前的发行分支而不是母版进行修补,然后从那里合并到两者,这样就不会出现问题。船长并没有为模型增加太多,因此您可以将其完全删除,IMO。
—
axl
@axl我理解您的意思,但是我正在尝试尽可能接近gitflow的文档。我宁愿不做任何形式的“ hackz”,因为许多开发人员已经采用了gitflow,所以他们应该已经为这种简单的事情找到了解决方案
—
Christopher Francisco
在GitHub和其他地方,有一些关于如何使用GitFlow解决各种问题的讨论。有时只是没有灵丹妙药。
—
axl