返回介绍

第 51 关 revert

发布于 2025-01-03 23:42:51 字数 814 浏览 0 评论 0 收藏 0

You have committed several times but want to undo the middle commit. All commits have been pushed, so you can't change existing history.

你提交了多次,但想取消中间的某次提交。所有提交的内容都已经推送到服务端了,所以你不能改变已有的历史。

我们曾用过修改提交历史的 git rebase -i 命令,用此方法可以取消多次提交中的某次提交,不过,这只是针对还没有推送到服务端的情况,如果已经提交到服务端,你就不能改变已有的历史了,只能想别的办法解决了。

Git 提供了 revert 工具来解决这种问题,它相当于是对某次提交的逆操作,比如你提交时新建了一个文件,那么 Git 就会创建一个删除此文件的提交。语法如下:

$ git revert hash-code
$ git revert hash-code --no-edit

其中的 hash-code 就是你要取消的提交的哈希值。第 2 条命令中的 no-edit 参数表示由系统自动生成一句提交说明,如果没有这个参数,Git 会自动调用文本编辑器请你编写提交说明。

第 51 关过关画面如下:

第 51 关 revert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文