我怎样才能恢复一个带有给定SHA的提交?我只想删除给定SHA的更改?我想保留所有提交之前和之后的给予SHA。我只想删除指定SHA的更改。
我读过Revert to a commit by a SHA hash in Git?,我的理解是重置所有提交后,我想恢复的SHA。我不想这样。
我怎样才能恢复一个带有给定SHA的提交?我只想删除给定SHA的更改?我想保留所有提交之前和之后的给予SHA。我只想删除指定SHA的更改。
我读过Revert to a commit by a SHA hash in Git?,我的理解是重置所有提交后,我想恢复的SHA。我不想这样。
3条答案
按热度按时间pobjuy321#
您可以使用
git revert <commit hash>
来尝试恢复提交所做的更改。这不会从历史记录中删除提交,只是进行更改以将其作为新的提交撤消。换句话说,你的第一次提交仍然在历史记录中,并且在你的分支的头上有一个额外的提交,它是原始提交的有效逆。如果您还没有与其他人共享您的更改,那么可以使用
git rebase
从历史记录中删除原始的违规提交。在this SO post中有详细信息。wwtsj6pe2#
git revert <commit>
将尝试恢复单个提交。它不会改变任何其他提交。你可能会对
git reset
感到困惑,它做的事情完全不同。更多信息:https://www.kernel.org/pub/software/scm/git/docs/git-revert.html
vdzxcuhz3#
可以使用
如果他们想在再次提交之前调整由提交恢复产生的更改。更多信息请点击这里