使用Github UI,如果我将功能分支合并到集成分支并选择“Squash and Merge”,则功能分支的提示将不再合并到集成分支中。
如果我们没有进行“壁球和合并”,则功能分支的提示将位于集成分支中。
所以我的问题是 - 是否有一种可靠的方法可以确定特定功能分支是否已完全合并到集成分支中,如果它是通过压缩提交完成的?
围绕这一点,可能我们可以在将功能分支与集成分支合并之前运行它:
git reset --soft "remotes/origin/dev"
git commit -am "soft-reset-commit"
然后使用Github UI,我们永远不会进行任何挤压。但上面的问题是,为了将它推到遥控器,我做了:
git push -f
因为我压扁了本地,因此本地功能分支没有跟踪远程具有的所有提交。
只要人们认为git reset --soft
是安全的并且我的工作不会丢失,这可能是一个不错的选择。
他们现在解决这个问题的方法就是检查一个新分支,压扁它,然后将其推送到远程。将压扁的分支合并到远程集成分支后,我可以在本地删除压扁的分支(因为git branch --merged <integration>
显示压扁的分支),然后删除原始分支:
运行这个:$ git fetch && git branch --merged <integration>
,我们得到:
feature/xyz@squashed
然后我可以去删除
feature/xyz
只要feature / xyz没有新的提交,因为它分支到@squashed分支。