合并并推送功能分支后,从master分支中删除功能分支的提交消息

时间:2019-02-26 05:00:54

标签: git github

我们有一种做法,在将特征分支的所有提交合并到master分支之前,先将其压缩,以便我们在master分支中拥有一个commit。但是我不经意间将特征分支合并到master中,而没有受到挤压。有什么办法可以解决这个问题。

1 个答案:

答案 0 :(得分:1)

如果合并该功能分支后未对master进行任何提交,则可以:

  • 将本地存储区master中的硬重置为合并之前的提交
  • 压缩并合并要素分支
  • 强行推动master并通知在该存储库上工作的任何其他成员,以便他们将自己的本地master分支重置到该新master HEAD。

也就是说:

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

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

是的:他们can be cherry-picked并在新的master HEAD上重播。

再次,一旦您强制(git push --force)新的分支历史记录,您需要确保其他任何协作者都知道历史记录的更改,并相应地重置他/她自己的本地master分支。