版本控制- GIT -撤销特定的过去的合并,但需要合并后的提交是完整的



我同时在一个Feature分支和Master分支上工作。

几天前我合并了我的FeatureMaster。在此基础上还进行了一些提交。

但后来我意识到这个功能不再需要了。因此,我需要删除由于Feature分支而合并的提交。

检查后,我意识到我有3个选项RebaseRevertCherry-pick。 我将来可能需要提交Feature分支。因此,如果我将来需要,它的提交需要在提交历史/git日志等中可见。因此,我很困惑上述三个选项中选择哪一个。

注意:所有的提交都被推送到master。这对我的选择有什么影响吗?

因为您的分支已经发布了,所以您可能希望避免使用交互式重基作为解决方案。交互式重基将允许您从Master中删除您不想要的Feature提交。但这将以重写Master的历史为代价,这可能会产生负面影响。

我认为你最好的选择是git revert Feature提交,你不想。

使用:

git revert <SHA-1>

,其中<SHA-1>是要恢复的提交。如果您有一系列按顺序提交,那么您可以使用:

git revert --no-edit <SHA-1>..<SHA-1>

使用两个提交范围

没有办法将提交保存在历史记录中供以后使用。提交要么在,要么不在。

如果您想稍后恢复提交,您可以合并或选择性地选择它们,或者您也可以还原还原提交(@1615903)。

相关内容

  • 没有找到相关文章

最新更新