首页 > 解决方案 > 合并推送功能分支后,从主分支中删除功能分支的提交消息

问题描述

我们有一种做法,即在将功能分支的所有提交合并到主分支之前将其压缩,这样我们将在主分支中提交一个功能分支。但是我不小心将功能分支合并到 master 中而没有被挤压。有什么办法可以解决这个问题。

标签: gitgithub

解决方案


如果您在合并该功能分支后没有在 master 上进行任何提交,您可以:

  • 在您的本地存储库中硬重置master为合并之前的提交
  • 压缩并合并您的功能分支
  • 强制推送master并通知在该存储库上工作的任何其他成员,以便他们将自己的本地master分支重置为该新masterHEAD。

那是:

git reset --hard <SHA1 before merge>
# squash+merge
git push --force

master合并后我在分支中有 2 次提交。
但是那些我提交的地方,所以我知道我更改了哪些文件。
我仍然可以从上述方法重置我的分支,然后再次提交接下来的两个更改吗?

是的:它们可以被挑选出来master并在新的HEAD上重播。

同样,一旦你强制 push ( git push --force) 那个新的分支历史,你需要确保任何其他协作者知道历史变化,并相应地重置他/她自己的本地master分支。


推荐阅读