git 如何使用SHA恢复提交

5m1hhzi4  于 2023-04-28  发布在  Git
关注(0)|答案(3)|浏览(162)

我怎样才能恢复一个带有给定SHA的提交?我只想删除给定SHA的更改?我想保留所有提交之前和之后的给予SHA。我只想删除指定SHA的更改。
我读过Revert to a commit by a SHA hash in Git?,我的理解是重置所有提交后,我想恢复的SHA。我不想这样。

pobjuy32

pobjuy321#

您可以使用git revert <commit hash>来尝试恢复提交所做的更改。这不会从历史记录中删除提交,只是进行更改以将其作为新的提交撤消。换句话说,你的第一次提交仍然在历史记录中,并且在你的分支的头上有一个额外的提交,它是原始提交的有效逆。
如果您还没有与其他人共享您的更改,那么可以使用git rebase从历史记录中删除原始的违规提交。在this SO post中有详细信息。

wwtsj6pe

wwtsj6pe2#

git revert <commit>将尝试恢复单个提交。
它不会改变任何其他提交。你可能会对git reset感到困惑,它做的事情完全不同。
更多信息:https://www.kernel.org/pub/software/scm/git/docs/git-revert.html

vdzxcuhz

vdzxcuhz3#

可以使用

git revert <commit hash> --no-commit

如果他们想在再次提交之前调整由提交恢复产生的更改。更多信息请点击这里

相关问题