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

GIT提错分支,回滚提交

1. 准备示例

假设我们有三次提交:

  • test1:需要在 master 分支提交
  • test2test3:需要在 develop 分支提交

远端线上记录

2. 步骤
  1. 选择需要回退的记录
    • 选中需要回退的 commit,选择 Reset Current Branch to Here...
  2. 选择回滚模式
    • 这里我们选择 Soft 模式。
3. 各种回滚模式介绍
  • Mixed(默认)

    • 功能:回退会保留 commit 前的修改信息 diff。
    • 效果:清除暂存区,将暂存区中的文件或代码回到工作区。需要重新 git add 再 commit 推送。
    • 注意:不会丢失文件或代码。
  • Soft(常用)

    • 功能:回退会保留 commit 前的修改信息 diff。
    • 效果:保留暂存区和工作区,新建文件回退不会变回红色。无需重新 git add,可以直接 commit。
    • 注意:同样不会丢失文件或代码。
  • Hard(慎用)

    • 功能:彻底回退到某个版本。
    • 效果:本地的代码会变为你回退版本的代码,所有未保存的修改都会丢失。
    • 注意:使用时需谨慎,以免丢失重要数据。
  • Keep

    • 功能:回退时会保留工作区的修改。
    • 效果:回退到指定的 commit,但暂存区会保持不变。如果有冲突,Git 会保留工作区的修改,方便后续处理。
    • 注意:适合在需要保留当前工作区修改的情况下使用。
4. 总结
  • Mixed:清除暂存区,保留工作区修改。
  • Soft:保留暂存区和工作区修改。
  • Hard:彻底回退,丢失所有未保存的修改。
  • Keep:回退时保留工作区修改,适合处理冲突。
5. 推送到远端
  • 点击完后,本地记录已经改变,线上记录还未改变。
  • 需要强制推送到远端:
git push -u origin 分支名 -f
6. 切换到 develop 分支并提交代码
  • 切换到 develop 分支,提交代码后,线上也成功更新。


http://www.kler.cn/a/552620.html

相关文章:

  • SOME/IP--协议英文原文讲解7
  • 蓝桥杯 Java B 组之日期与时间计算(闰年、星期计算)
  • 使用API有效率地管理Dynadot域名,参与过期域名竞价
  • 系统学习算法:专题十一 floodfill算法
  • 无人机避障——配置新NX
  • 出现 [ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json (env: Windows,mp 解决方法
  • C#程序中进行打印输出文本
  • opencascade 源码学习找到edge对应的face BRepBuilderAPI-BRepBuilderAPI_FindPlane
  • 架构师面试(二):计算机编程基础
  • 极限网关核心架构解析:从 Nginx 到 INFINI Gateway 的演进
  • ABB机器人的二次开发
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_palloc_block函数
  • golang面试题:两个interface{} 能不能比较?
  • 接口自动化框架篇:Pytest中的接口请求封装!
  • idea日常报错之UTF-8不可映射的字符
  • 游戏引擎学习第108天
  • MySQL数据库(3)—— 表操作
  • 深入解析LVS命令参数及DR模式下的ARP抑制原理
  • MybaitsPlus学习笔记(三)常用注解
  • 【科研绘图系列】R语言绘制时间序列图(time series plot)