如何git使用SHA恢复提交

时间:2012-06-29 21:04:47

标签: git

如何使用GIVEN SHA恢复提交?我只是想用给定的SHA删除更​​改?我希望保留所有提交的内容BEFORE&在给SHA之后。我只想删除指定SHA的更改。

我已阅读Revert to a commit by a SHA hash in Git?,我的理解是重置所有提交后我想要恢复的SHA。 这不是我想要的方式。

3 个答案:

答案 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)

一个可以使用

git revert <commit hash> --no-commit 

如果他们想在再次提交之前调整提交还原所产生的更改。有关更多信息,请查看here