当前位置: 首页 > ds >正文

Android Studio 中Revert Commit、Undo Commit 和 Drop Commit 使用场景

Android Studio 存在三种不同的撤销提交操作,用途和影响有显著区别:在这里插入图片描述

1. Revert Commit(还原提交)

  • 作用
    创建一个新的提交,用于撤销指定提交引入的更改(相当于逆向操作该提交的修改)。

  • 结果

    • 历史记录中会新增一个 “Revert” 提交,原提交仍然保留在历史中。

    • 文件状态会更新为撤销后的内容(类似 Ctrl+Z 该提交的修改)。

  • 适用场景

    • 撤销已推送到远程仓库的提交(避免重写历史)。

    • 公开协作时安全撤销错误提交(不破坏他人仓库历史)。

  • Git 命令等价操作

 git revert <commit-hash>

2. Undo Commit(撤销提交)

  • 作用
    将指定提交移出提交历史,将其更改放回暂存区/工作目录(相当于 git reset --soft)。

  • 结果

    • 提交被取消,但修改内容保留在工作目录(可重新编辑或提交)。

    • 原提交从本地分支历史中移除(尚未推送时安全)。

  • 适用场景

    • 本地提交后发现遗漏文件需修改提交信息时。

    • 未推送的提交(操作仅影响本地)。

  • Git 命令等价操作

    git reset --soft HEAD~1  # 撤销最后一次提交
    

3. Drop Commit(丢弃提交)

  • 作用
    彻底删除提交及其更改,从历史中擦除该提交(相当于 git reset --hard)。

  • 结果

    • 提交和其引入的修改完全消失(不可恢复)。

    • 分支历史被重写(后续提交的父提交会改变)。

  • 适用场景

    • 丢弃未推送的临时/实验性提交(如调试代码)。

    • 本地分支历史清理(需谨慎使用)。

  • 风险

    • 若提交已推送,强制推送(git push -f)会破坏协作。
  • Git 命令等价操作

    git reset --hard <commit-hash>^  # 回退到提交的前一个状态

使用建议

  • 已推送的提交 → 用 Revert(避免历史冲突)。

  • 未推送的提交需修改 → 用 Undo(内容保留方便调整)。

  • 未推送的提交需彻底删除 → 用 Drop(谨慎操作,确保无需恢复)。

  • 重要提示
    Undo/Drop 会重写本地历史,若已推送需强制推送(git push -f),可能影响团队协作

http://www.xdnf.cn/news/16844.html

相关文章:

  • Android Studio怎么显示多排table,打开文件多行显示文件名
  • 现在有哪些广泛使用的时序数据库?
  • [免费]基于Python的招聘职位信息推荐系统(猎聘网数据分析与可视化)(Django+requests库)【论文+源码+SQL脚本】
  • [mind-elixir]Mind-Elixir 的交互增强:单击、双击与鼠标 Hover 功能实现
  • Web3.0 和 Web2.0 生态系统比较分析:差异在哪里?
  • 【Datawhale AI夏令营】科大讯飞AI大赛(大模型技术)/夏令营:让AI理解列车排期表(Task3)
  • 【python 获取邮箱验证码】模拟登录并获取163邮箱验证码,仅供学习!仅供测试!仅供交流!
  • uni-app webview的message监听不生效(uni.postmessage is not a function)
  • linux 执行sh脚本,提示$‘\r‘: command not found
  • 从一开始的网络攻防(十四):WAF绕过
  • day21-Excel文件解析
  • 【MySQL 数据库】MySQL索引特性(一)磁盘存储定位扇区InnoDB页
  • AI 代码助手在大前端项目中的协作开发模式探索
  • C++ Qt网络编程实战:跨平台TCP调试工具开发
  • 容器与虚拟机的本质差异:从资源隔离到网络存储机制
  • 2020 年 NOI 最后一题题解
  • Apple基础(Xcode②-Flutter结构解析)
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-49,(知识点:OSI模型,物理层、数据链路层、网络层)
  • 2025年湖北中级注册安全工程师报考那些事
  • 网络安全学习第16集(cdn知识点)
  • 知识速查大全:python面向对象基础
  • C++从入门到起飞之——智能指针!
  • 电子电气架构 --- 区域架构让未来汽车成为现实
  • 深入理解PostgreSQL的MVCC机制
  • SpringBoot之多环境配置全解析
  • Linux 系统日志管理与时钟同步实用指南
  • Tlias 案例-整体布局(前端)
  • cpp实现音频重采样8k->16k及16k->8k
  • 推扫式和凝视型高光谱相机分别采用哪些分光方式?
  • Web前端实战:Vue工程化+ElementPlus