我正在查看最后 10 次左右的推送,我想退出其中的 4 次(不连续)。
我怎样才能做到这一点?
在 SVN 中,这将是恢复更改并将“撤消”的更改推回的问题。不确定如何在 Git 中执行此操作。
我正在查看最后 10 次左右的推送,我想退出其中的 4 次(不连续)。
我怎样才能做到这一点?
在 SVN 中,这将是恢复更改并将“撤消”的更改推回的问题。不确定如何在 Git 中执行此操作。
您可以git revert <commit>
在不重写历史记录的情况下恢复有问题的提交。这将创建一个撤消这些提交的新提交。
而不是<commit>
您使用要还原的每个提交的 SHA。
@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