分支 squash-merged 到 master,并合并回 branch
Branch squash-merged to master, and merged back to branch
我的 git 工作流包含功能分支,这些分支在经过验证后被压缩合并到主分支中。但是,我不知道这些被压缩的提交被带回它们来自的同一个分支的后果,通过合并主而不压缩到分支。
如果合并到 master 没有被压缩,那么将 master 合并回同一个分支将是微不足道的,因为许多提交都是相同的。
这将在您的功能分支上添加一个新的提交,如图所示:
1.master 和合并前的特征分支
A---B---C---D master
\
E---F---G feature
2.merge 通过 squash 将特性分支到 master(H 是 master 上的 squash 提交):
A---B---C---D---H master
\
E---F---G feature
3.Merge master 回到特性分支
A---B---C---D---H master
\ \
E---F---G-----I feature
在feature分支中添加了新的提交I,master和feature之间也建立了合并关系。
如果你想回到第二张图所示的历史结构并撤销无意识合并,你可以使用
git checkout feature
git reset --hard HEAD~
我的 git 工作流包含功能分支,这些分支在经过验证后被压缩合并到主分支中。但是,我不知道这些被压缩的提交被带回它们来自的同一个分支的后果,通过合并主而不压缩到分支。
如果合并到 master 没有被压缩,那么将 master 合并回同一个分支将是微不足道的,因为许多提交都是相同的。
这将在您的功能分支上添加一个新的提交,如图所示:
1.master 和合并前的特征分支
A---B---C---D master
\
E---F---G feature
2.merge 通过 squash 将特性分支到 master(H 是 master 上的 squash 提交):
A---B---C---D---H master
\
E---F---G feature
3.Merge master 回到特性分支
A---B---C---D---H master
\ \
E---F---G-----I feature
在feature分支中添加了新的提交I,master和feature之间也建立了合并关系。
如果你想回到第二张图所示的历史结构并撤销无意识合并,你可以使用
git checkout feature
git reset --hard HEAD~