如何使用SHA撤销Git提交

30

如何使用给定的SHA还原提交?我只想删除给定SHA的更改,但要保留在其之前和之后所做的所有提交。我只想删除指定SHA的更改。

我已经阅读过Revert to a commit by a SHA hash in Git?,我的理解是重置在我想要还原的SHA之后进行的所有提交。这不是我想要的方式。

3个回答

33
您可以使用git revert <commit hash>来尝试撤消提交所做的更改。这不会从历史记录中删除提交,只是撤消它并作为新提交进行更改。换句话说,您将仍然拥有第一个提交在历史记录中,并且分支头部会有一个额外的提交,它是原始提交的有效反向操作。
如果您还没有与其他人分享您的更改,则可以使用git rebase从历史记录中完全删除原始提交。有关详细信息,请参见此SO帖子

4

3

您可以使用

git revert <commit hash> --no-commit 

如果他们想在再次提交之前修改由commit revert产生的更改,则需要进行微调。有关更多信息,请查看此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接