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

git commit撤销修改

背景

如果提交了代码,却发现有不需要提交的文件。这时候如何修改呢?可以用git reset指令。

git reset用法解释

git reset 命令用于回退版本,可以指定退回某一次提交的版本。

git reset 命令语法格式如下:

git reset [--soft | --mixed | --hard] [HEAD]

–mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。

git reset  [HEAD] 

实例:

$ git reset HEAD^            # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
$ git  reset  052e           # 回退到指定版本

–soft 参数用于回退到某个版本:

git reset --soft HEAD

实例:

$ git reset --soft HEAD~3   # 回退上上上一个版本 

–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

git reset --hard HEAD

实例:

$ git reset --hard HEAD~3  # 回退上上上一个版本  
$ git reset –hard bae128  # 回退到某个版本回退点之前的所有信息。 
$ git reset --hard origin/master    # 将本地的状态回退到和远程的一样 

**注意:**谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。

HEAD 说明:

  • HEAD 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • 以此类推…

可以使用 ~数字表示

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD^2 上上一个版本
  • 以此类推…

操作实例

JackChen@ABC MINGW64 /d/Code/test (master)
$ touch a.txt
[1]+  Done                    gitk --allJackChen@ABC MINGW64 /d/Code/test (master)
$ git add a.txt JackChen@ABC MINGW64 /d/Code/test (master)
$ git commit -m"add text"
[cat1 990152f6] add text1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 a.txtJackChen@ABC MINGW64 /d/Code/test (master)
$ git status
On branch cat1
Your branch is ahead of 'origin/cat1' by 1 commit.(use "git push" to publish your local commits)nothing to commit, working tree cleanJackChen@ABC MINGW64 /d/Code/test (master)
$ git log
commit 990152f6572a51ce37272bcef7879d3fe2a8f24b (HEAD -> cat1)
Author: JackChen
Date:   Fri Jun 21 11:11:58 2024 +0800add textChange-Id: I0896f0513dd0c580a5c649ac18e8462ff00c3331JackChen@ABC MINGW64 /d/Code/test (master)
$ git reset --soft 5399da1f4JackChen@ABC MINGW64 /d/Code/test (master)
$ git status
On branch cat1
Your branch is up to date with 'origin/cat1'.Changes to be committed:(use "git restore --staged <file>..." to unstage)new file:   a.txtJackChen@ABC MINGW64 /d/Code/test (master)
$ git commit -m"add text"
[cat1 f00c31c8] add text1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 a.txtJackChen@ABC MINGW64 /d/Code/test (master)
$ git reset 5399da1f4JackChen@ABC MINGW64 /d/Code/test (master)
$ git status
On branch cat1
Your branch is up to date with 'origin/cat1'.Untracked files:(use "git add <file>..." to include in what will be committed)a.txtnothing added to commit but untracked files present (use "git add" to track)
http://www.lryc.cn/news/378522.html

相关文章:

  • 深入理解RunLoop
  • Elasticsearch term 查询:精确值搜索
  • IntelliJ IDEA调试技巧
  • NGINX_六 nginx 日志文件详解
  • 第6章 工程项目融资 作业
  • 网站安全防护怎么做?
  • 泵设备的监测控制和智慧运维
  • 【智能算法应用】基于混合粒子群-蚁群算法的多机器人多点送餐路径规划问题
  • Java中的JVM调优技巧
  • 软件工程-第4章结构化编码和测试
  • MMDetection 目标检测 —— 环境搭建和基础使用
  • C# 实现draw一个简单的温度计
  • 解放双手,让流程自动化软件助你一臂之力
  • 邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布
  • 安卓开发使用proxyman监控真机
  • ruoyi登录功能源码分析
  • 推动产业数字化转型,六个方面引领变革
  • 设施布置之车间布局优化SLP分析
  • 帕金森的锻炼方式
  • PyTorch(一)模型训练过程
  • windows下cmd命令行模式中cd变换路径命令无效的解决办法
  • 收藏||电商数据采集流程||电商数据采集API接口
  • 修改源码,打patch包,线上环境不生效
  • NUC980-OLED实现全中文字库的方法
  • UEFI 启动原理及qemu 虚拟化中使用
  • 35、正则表达式
  • Ubuntu20.04中复现FoundationPose
  • 【Qt快速入门(四)】- QLabel文本框的使用
  • 用Python设置Excel工作表网格线的隐藏与显示
  • 自回归模型胜过扩散模型:用于可扩展图像生成的 Llama