git撤销、回退某个commit的修改

文章目录

    • 撤销某个特定的commit
      • [方法 1:使用 `git revert`](#方法 1:使用 git revert)
      • [方法 2:使用 `git rebase -i`](#方法 2:使用 git rebase -i)
      • [方法 3:使用 `git reset`](#方法 3:使用 git reset)

撤销某个特定的commit

如果你要撤销某个很早之前的 commit,比如 7461f745cfd58496554bd672d52efa8b1ccf0b42,可以通过以下几种方法来实现:

方法 1:使用 git revert

git revert 会生成一个新的 commit 来撤销指定的 commit,而不会影响之后的 commit 历史。可以使用以下命令:

bash 复制代码
git revert 7461f745cfd58496554bd672d52efa8b1ccf0b42

这会生成一个新的 commit,撤销 7461f745cfd58496554bd672d52efa8b1ccf0b42 中的改动,但不会影响之后的 commit 历史。

方法 2:使用 git rebase -i

git rebase -i 适用于对历史 commit 进行更改或删除。注意这种方式会改变历史,因此在共享分支上操作时需谨慎。

  1. 运行以下命令以交互模式重写历史:

    bash 复制代码
    git rebase -i 7461f745cfd58496554bd672d52efa8b1ccf0b42^
  2. 在编辑器中找到 7461f745cfd58496554bd672d52efa8b1ccf0b42 的那一行,把它前面的 pick 改为 drop,然后保存并退出。

  3. 之后,Git 会重新应用后续的 commit。若遇到冲突,按提示解决冲突并继续执行 git rebase --continue

方法 3:使用 git reset

如果你要直接"回到"该 commit 之前的状态,而不需要之后的更改,可以使用 git reset,但注意这种方法会直接修改分支的历史记录,适用于非共享分支。

bash 复制代码
git reset --hard 7461f745cfd58496554bd672d52efa8b1ccf0b42

这会将分支的状态直接重置到 7461f745cfd58496554bd672d52efa8b1ccf0b42。但是所有在该 commit 之后的 commit 都会被删除,无法恢复。

总结来说,推荐的修复方法是使用 POSIX 兼容的 = 比较符来确保脚本能在更多的环境中运行。


结束语

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

相关推荐
vibecoding日记1 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记2 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger3 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思4 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享4 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立4 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003964 天前
git切换当前分支到远程分支
git
ON10N4 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code