-1

我的 git 工作流程包含在经过验证后合并到 master 的功能分支。但是,我不知道这些被压扁的提交被带回它们来自的同一个分支的后果,通过没有压扁到分支的合并主控。

如果没有压缩到 master 的合并,那么将 master 合并回同一个分支将是微不足道的,因为许多提交是相同的。

4

1 回答 1

2

这将在您的功能分支上添加一个新提交,显示为图表:

1.master和feature分支合并前

A---B---C---D    master
     \
      E---F---G  feature

2.通过squash将功能分支合并到master(H是master上的squash commit):

A---B---C---D---H   master
     \
      E---F---G     feature

3.将master合并回feature分支

 A---B---C---D---H      master
     \             \
      E---F---G-----I   feature

新的提交 I 添加到功能分支中,并且合并关系也在 master 和 feature 之间创建。

如果您想回到第二张图片所示的历史结构并撤消无意识合并,您可以使用

git checkout feature 
git reset --hard HEAD~
于 2017-02-09T14:22:37.233 回答