git流 : Should I squash commits when merging from a release branch into master?

标签 git git-flow git-squash

我打算将我的发布分支 merge 到 master,我想知道在 merge 到 master 时是否应该将 develop 中的提交压缩为单个 merge 提交。

关于 git flow 的一般文档包含来自 Atlassian 页面的如下图:

enter image description here

在这些图中,只有单个提交出现在 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/

相关文章:

git - "git pull"是如何用 git2-rs Rust crate 完成的?

git commit 搜索源代码并提取注释

git - 如何重置 SourceTree 中的 git-flow 配置?

git - Squash 直接在功能上提交,无需 rebase 或 merge

git - 有没有一种简单的方法可以压缩 git 中的许多提交?

git - tortoisegit 和 gitlab 的区别

git - 关于多个发布行和 git-flow 的建议,适用于 git 非专家

Git - 将 master merge 回 develop?

git - 压缩数百个原始提交

git - 你在什么系统上使用 git