如何使用GIVEN SHA恢复提交?我只是想用给定的SHA删除更改?我希望保留所有提交的内容BEFORE&在给SHA之后。我只想删除指定SHA的更改。
我已阅读Revert to a commit by a SHA hash in Git?,我的理解是重置所有提交后我想要恢复的SHA。 这不是我想要的方式。
答案 0 :(得分:23)
您可以使用git revert <commit hash>
尝试还原提交所做的更改。这不会从历史记录中删除提交,只需进行更改以将其撤消为新提交。换句话说,您将在历史记录中进行第一次提交,并在分支的头部进行额外提交,这是原始提交的有效反转。
如果您尚未与其他任何人分享您的更改,则可以使用git rebase
完全删除历史记录中的原始违规提交。 this SO post中有详细信息。
答案 1 :(得分:4)
git revert <commit>
将尝试恢复单个提交。
它不会更改任何其他提交。你可能会对git reset
感到困惑,它会做一些完全不同的事情。
了解更多信息:https://www.kernel.org/pub/software/scm/git/docs/git-revert.html
答案 2 :(得分:1)