文 | 夕月

本文介绍通过命令 git reset, git rebase, git revert 实现对已commit或push的文件进行撤销操作。

图示环境是 MacOS + GitLab + Sourcetree + Shell。

其中GitLab是笔者在MacOS上借助Docker自行搭建的git仓库管理系统。

1. 先来看 git reset 的用法

多次commit之后,test分支的文件状态:

需求:将test分支最近一次提交的 “commit fff file”{cid:dd55e5e} 这条记录撤销

git reset --soft HEAD~1

撤销最近一次的commit(撤销commit,不撤销git add)

git reset --mixed HEAD~1

撤销最近一次的commit(撤销commit,撤销git add)

git reset --hard HEAD~1

撤销最近一次的commit(撤销commit,撤销git add,工作区的代码改动将丢失。操作完成后回到上一次commit状态)

HEAD~1的意思是最近一个版本,也可以写成HEAD^

如果需要撤回最近两次提交的commit,可以使用HEAD~2,依次类推。

执行 git reset --soft HEAD~1 后,状态如下:

执行 git reset --mix

已经push的如何回退_git撤销commit,回退已经push的文件相关推荐

  1. qt撤销与回退_Git撤销某次分支的合并Merge

    问题: 某天,所有的开发文件已经在dev分支上,但是这时候,线上出了一个问题,需要及时修复,于是从master分支上,拉了一个bug分支,进行处理,master分支本应合并bug分支,结果合并了dev ...

  2. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  3. git 撤销全部的commit_git如何撤销commit的方法(未push)

    撤销commit一般用git reset ,语法如下: git reset [ --mixed | --soft | --hard] [] 1.使用参数--mixed(默认参数),如git reset ...

  4. git commit之后,回退撤销commit

    在commit之后,发现有不需要提交的文件被提交上去了,好在还没有push到远端,需要撤回重新提交. 如果是用的是Sourcetree的话,打开Sourcetree操作如下: 找到提交之前的版本的记录 ...

  5. git push提交成功后如何撤销回退

    https://blog.csdn.net/guozhaohui628/article/details/78922946 阅读数:1877 1.写在前面    我们在使用Git进行版本控制时,有可能会 ...

  6. Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

    Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...

  7. git基本使用(配置文件、日志/参考日志、版本回退、撤销更改、修改commit提交)

    文章目录 0 背景 1 历史 2 git配置文件的使用 2.1 设置用户名和邮件地址 2.2 查看配置 2.3 修改配置来达到忽略文件(即不上传文件)以及强制上传被忽略的文件 2.4 配置别名 3 使 ...

  8. IDEA git 代码已经commit,但未 push推送,如何撤销提交缓存区代码

    记录自己提交代码时,手滑错误commit了多余的文件,但未push到云端,想要撤回整个commit的操作: idea菜单栏上的 VCS–>Git–>Reset HEAD- 出现如下弹框: ...

  9. 撤销commit且未push操作的git命令

    2019独角兽企业重金招聘Python工程师标准>>> 在git push的时候,有时候我们会想办法撤销git commit的内容  1.找到之前提交的git commit的id  ...

最新文章

  1. TI IPNC Web网页之网页修改教程
  2. tomcat闪退解决方案
  3. 《Java核心技术》 -- 读书笔记 ② - 类 | 对象 | 接口
  4. php viewmodel,PHP日记——Lavarel常用语句之View篇
  5. win10电脑开机密码忘了怎么办_电脑开机密码忘了怎么办最简单的方法_windows7教程...
  6. java打印计算机_在Java程序中实现高精度打印
  7. 使用Python删除Windows中只读文件
  8. 一个Android开发快速入门Flutter (一)
  9. python编写环境手机_给android手机上配置python运行环境
  10. 全图中第K小路径/团问题(有向/无向)
  11. office 中墨迹书写工具_word2016 墨迹书写 word2016墨迹书写工具
  12. SQLserver管道的另一端无任何进程
  13. QT界面完成录音与播放功能以及环境配置
  14. hector-slam之杉川雷达配置过程
  15. 无边界安全成新趋势,志翔科技推出首个体系化“无边界”安全产品
  16. 2019牛客暑期多校训练营(第一场)(B、C、E、F、H、I题待补、J)
  17. Word在试图打开文件时遇到错误。 请尝试下列方法: * 检查文档或驱动器的文件权限。 * 确保有足够的内存和磁盘空间。 * 用文件恢复转换器打开文件。
  18. ArcGIS License Server Administor 点击启动没有反应
  19. ENSP华为路由器出口NAT实验
  20. 【英文文献】如何阅读英文文献

热门文章

  1. 小程序获取支付二维码
  2. linux 光驱 sr sg,linx 设备名字来由 sd sr sg st
  3. FX系列PLC型号的含义及软硬件的组成
  4. springboot+i8n国际化
  5. HTML大学班级活动网页设计 、大学校园HTML实例网页代码 、本实例适合于初学HTML的同学...
  6. 更换独显后未能连接ea服务器,核显关闭,独显就无法硬解,这是怎么回事
  7. Android报错Failed to allocate a 246498744 byte allocation with 1572864 free bytes and 191MB until OOM,
  8. 金山庆祝成立30周年 雷军:一个人走得快 但一群人走得远
  9. 支付系统详解:收付款能力
  10. 关于一个条形码(二维码)扫描的商品管理器