如何退出某些推动力

时间:2012-12-09 00:57:51

标签: git git-revert

我正在看最后10次左右的推动,我想退出其中的4个(不连续)。

我该怎么做?

在SVN中,这将是一个恢复更改并将“撤消”更改推回的问题。不确定如何在Git中执行此操作。

2 个答案:

答案 0 :(得分:10)

使用git revert <commit>还原违规提交而不重写历史记录。这将创建一个撤消这些提交的新提交。

而不是<commit>,而是使用要恢复的每个提交的SHA。

答案 1 :(得分:1)

@ ThiefMaster的答案很有效。

作为替代方案,如果它不是共享远程分支(意味着如果没有其他人撤消您的更改),您可以git rebase -i HEAD~10。这将打开$ EDITOR中最后10个提交的列表。只需删除不再需要的提交,保存文件,然后git push -f强制推送并覆盖远程分支上的历史记录。

优势:它让历史更加清晰。

缺点:您可能希望清理历史记录并希望在git历史记录中捕获恢复提交。

有关互动式变基的更多内容:http://git-scm.com/book/en/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages