如何使用GIT撤消推送提交? [英] How can I undo pushed commits using git?

查看:16
本文介绍了如何使用GIT撤消推送提交?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在远程存储库中有一个项目,与本地存储库(开发)和服务器存储库(PROD)同步。我一直在进行一些提交的更改,这些更改已经推送到远程,并从服务器拉出。现在,我想撤销这些更改。因此,我只需git checkout在更改前提交并提交新更改,但我猜测将它们再次推送到远程会有问题。对于我应该如何继续,有什么建议吗?

推荐答案

您可以使用以下命令还原单个提交:

git revert <commit_hash>
这将创建一个新的COMMIT,该COMMIT将恢复您指定的COMMIT的更改。请注意,它只恢复该特定提交,而不会恢复之后的提交。如果您想恢复一系列提交,可以这样做:

git revert <oldest_commit_hash>..<latest_commit_hash>
它还原<oldest_commit_hash>之后到<latest_commit_hash>之前(包括<latest_commit_hash>)的所有提交。在某些版本的GIT上,它还会恢复<oldest_commit_hash>,因此请仔细检查该提交是否恢复。您始终可以使用g reset --hard HEAD~删除最新的还原提交(它还原最旧的提交)。

若要了解提交的哈希,可以使用git log

有关git revert命令的详细信息,请查看git-revert man page。此外,有关还原提交的详细信息,请参阅this answer

这篇关于如何使用GIT撤消推送提交?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆