撤消多个git合并

撤消多个git合并,git,version-control,git-merge,git-commit,git-revert,Git,Version Control,Git Merge,Git Commit,Git Revert,我有两个git分支(主消息和修复日志消息)。我一直在fix_log_messages分支中进行各种提交,然后定期将这些更改/提交合并到master中。因此,由于定期将修复日志消息分支合并到主分支中,主分支包含多个合并 我现在需要从主分支中删除属于修复日志消息分支的所有提交。换句话说,我需要撤销多个合并。我知道我可以使用git revert-m1还原单个合并。但是,删除分支上的多个合并的工作流是什么 仅供参考-对主机的更改已推送到远程。所有合并都是使用git merge--no ff fix_lo

我有两个git分支(主消息和修复日志消息)。我一直在fix_log_messages分支中进行各种提交,然后定期将这些更改/提交合并到master中。因此,由于定期将修复日志消息分支合并到主分支中,主分支包含多个合并

我现在需要从主分支中删除属于修复日志消息分支的所有提交。换句话说,我需要撤销多个合并。我知道我可以使用
git revert-m1
还原单个合并。但是,删除分支上的多个合并的工作流是什么


仅供参考-对主机的更改已推送到远程。所有合并都是使用
git merge--no ff fix_log_messages执行的

您可以使用
git log
查看要撤消的主分支的提交次数。例如,如果要回滚6次提交,只需键入:

git reset --hard HEAD~6

如果要恢复合并状态,可以使用
reflog
查看原始主分支中最后一次提交的提交id,然后将其签出。

除了合并提交之外,主分支上是否还有其他提交,以及要保留哪些提交?或者合并是
主机上唯一的附加提交吗?对于这两种情况,方法会有很大不同……不幸的是,这将a)删除该范围内主机上的任何非合并提交,b)如果强制推送到远程,则会中断历史记录。