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

【git】撤销操作

1. 使用git一般会涉及到四个区,disk, staging, local, remote,初始情况下,四个区域保持同步。

2. 当修改disk后,可以通过以下命令查看和撤销修改

git diff
#查看对哪些文件做了修改
git status
# 查看哪些文件做了修改并未提交到stage区
git checkout changed_file 
or
git restore changed_file
#撤销对文件的修改

3. 当使用git add将文件放入staging时,可通过以下命令撤销

git reset changed_file
or
git restore --staged changed_file
# 把文件从暂存区(staging)移出,commit时不会commit此文件,不会对硬盘上的源代码进行修改。git checkout HEAD changed_file
#把文件从暂存区移出,并撤销对硬盘的修改。

4. git commit 之后的撤销

git reset --soft HEAD~1
#只撤销commit,HEAD表示最近的一次commit,~1表示之前一个。此命令会将local git变回之前一次的commit。此命令之后,硬盘中文件不变,此命令也会在暂存区,只是撤销了local git的commit。git reset HEAD~1
or
git reset --mixed HEAD~1
#同时撤销git commit 和 git add, 只保留硬盘上的修改。git reset --hard HEAD~1
#同时撤销git commit, git add 和对硬盘的修改,完整的恢复到初始状态。#如何想退回到之前两个commit的状态 HEAD~2git revert HEAD
#相当于在change的基础上增加了一个-change,最终结果也会回到 HEAD~1的版本,但会增加一个commit。
#git revert 可以撤销之前任意一个commit
#当修改是公有分支时,只能使用git revert命令(共有分支只能增加commit,不能减少commit)
#当修改时个人分支时(此分支只有一个人使用),可以使用git reset命令,但当push到远端时需要使用
git push -f   
# -f force push

相关文章:

  • C# 委托(调用带引用参数的委托)
  • 链表题解——删除链表的倒数第 N 个结点【LeetCode】
  • 鸿蒙5:自定义构建函数
  • 聊聊横向移动中的实际技术点 ----- ResponderSMB
  • matlab 渐进三角网(PTD)地面滤波(基础版)
  • Django ORM 2. 模型(Model)操作
  • 机器学习7——神经网络上
  • 高频SQL50题 第九天 | 1164. 指定日期的产品价格、1204. 最后一个能进入巴士的人、1907. 按分类统计薪水
  • pytorch--模型训练的一般流程
  • 1 Studying《Computer Vision: Algorithms and Applications 2nd Edition》11-15
  • MySQL之全场景常用工具链
  • MYSQL与PostgreSQL的差异
  • (Arxiv-2025)Qwen2.5-VL 技术报告
  • mybatis-plus从入门到入土(一):快速开始
  • Embedding模型微调实战(ms-swift框架)
  • 医疗AI智能基础设施构建:向量数据库矩阵化建设流程分析
  • 领域驱动设计(DDD)【28】之实践或推广DDD的学习
  • 左神算法之矩阵旋转90度
  • <STC32G12K128入门第二十二步>STC32G驱动DS18B20(含代码)
  • IDE/IoT/实践小熊派LiteOS工程配置、编译、烧录、调试(基于 bearpi-iot_std_liteos 源码)