我打算将我的发布分支 merge 到 master,我想知道在 merge 到 master 时是否应该将 develop 中的提交压缩为单个 merge 提交。
关于 git flow 的一般文档包含来自 Atlassian 页面的如下图:
在这些图中,只有单个提交出现在 master 上,而不是所有对 develop 的提交。
实际上,我喜欢拥有一个仅发布提交的主分支的想法。
在 merge 到 master 时,我应该保留 develop 上的所有提交吗?还是在遵循 Gitflow 时在 merge 到 master 之前压缩提交?
来源文章链接:Gitflow Workflow - Atlassian
最佳答案
在我看来,请记住,这只是一个意见,您可能会得到不同的答案,从开发分支 merge 到 master 时,您不应该压缩提交。这样做会丢失很多已进行更改的历史记录。例如,我所做的几乎所有提交都标有问题编号,因此可以通过 git 历史记录完全追溯到所提出的问题以及进行更改的原因。
更重要的是,您不应该直接从 develop merge 到 master。假设您正在关注 git-flow,那么此转换应该通过发布分支完成。
如果您问过,在功能分支或修补程序分支上,是否应该压缩提交,那将是一个不同的答案。在这些情况下,可以说分支应该足够小以保证只有一次提交,所以在这些情况下,我几乎总是在 merge 到目标分支之前 rebase 并将提交压缩为一个提交。
关于git流 : Should I squash commits when merging from a release branch into master?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139783/