1. 修改完,还未执行git add

缓存区没有任何文件时,使用

git checkout . 

将暂存区的文件覆盖工作区

执行完 git add . 之后,再执行该命令是无效的,git checkout .和git add .是一对反义词

git checkout(覆盖)

1、只放弃工作区的改动,index 保持不变,其实就是从当前 index 恢复 工作区:

放弃工作区中全部的修改

git checkout .

放弃工作区中某个文件的修改:

git checkout -- filename

2、强制放弃 index 和 工作区 的改动:

git checkout -f

这是不可逆的操作,会直接覆盖,但是还是很有用的,有时候想放弃这些改动,使用svn的时候可以直接把文件删掉再update,但是使用git就不能这么操作,使用 git checkout 可以满足这一点。

git diff(查看差异)

git diff 命令,默认查看的就是 工作区 和 暂存区之间文件的差异

2.使用git add 提交到暂存区,还未commit之前

撤销单个文件:

git reset HEAD file(文件名)

撤销多个文件:

git reset HEAD

3.已经git commit,还未git push

git reset --hard origin/master

清空暂存区,执行此操作后要重新git add 后重新git commit

撤销commit一般用git reset ,语法如下:

git reset [ --mixed | --soft | --hard] [<commit ID>]

1.使用参数--mixed(默认参数),如git reset --mixed <commit ID>或git reset <commit ID>

撤销git commit,撤销git add,保留编辑器改动代码

2.使用参数--soft,如git reset --soft<commit ID>

撤销git commit,不撤销git add,保留编辑器改动代码

3.使用参数--hard,如git reset --hard <commit ID>——此方式非常暴力,全部撤销,慎用

撤销git commit,撤销git add,删除编辑器改动代码

4.已经git push

对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令

revert 用于反转提交,执行evert命令时要求工作树必须是干净的.

git revert

git revert用一个新提交来消除一个历史提交所做的任何修改.

revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新.(这里不会像reset造成冲突的问题)

revert 使用,需要先找到你想回滚版本唯一的commit标识代码,可以用 git log 或者在adgit搭建的web环境历史提交记录里查看.

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61

通常,前几位即可

git revert c011eb3

git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit

看似达到的效果是一样的,其实完全不同.

第一:

上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.

第二:

如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.

第三:

reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.

最后

git push 发生冲突时,我们可以使用

git stash

保存自己修改的代码,然后使用

git pull

拉取最新的代码,接着

git stash pop

把自己前面保存的代码拿回来

Git回滚文件常用命令汇总相关推荐

  1. git与github——1,简介、安装及设置账号、创建版本库及提交文件、常用命令汇总、git的时光穿梭机

    目录 一.git是什么? 1,git与github 2,分布式与集中式 二.安装.设置账号.设置ssh 1.安装.设置账号 2,设置ssh 三.创建版本库及提交文件 1,创建版本库 2,添加文件到版本 ...

  2. git-代码撤销、回滚到任意版本(git回滚命令reset、revert的区别)

    文章目录 一.Git 代码撤销.回滚到任意版本(当误提代码到本地或master分支时) 二.git回滚命令reset.revert的区别 1. 背景知识 2. 方法一:git reset(回退) 3. ...

  3. Git 回滚命令笔记

    Git 回滚命令 一.未提交 未提交有以下两种情况: 1)已经在工作区修改了文件,但还未执行 git add 提交到暂存区. 2)已经执行了 git add 提交到暂存作,但还未执行 git comm ...

  4. git日常使用的常用命令总结

    git日常使用的常用命令总结 git 是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...

  5. 图解 Git 工作原理和常用命令使用教程

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 marklodato.github.io/visual-git-guide/in ...

  6. Git 回滚 checkout、reset、revert

    Git 回滚 checkout.reset.revert 首先看一下 Git 的工作流程 checkout 是检出的意思,作用是将某次 commit 的状态检出到工作区,它的过程是先将 HEAD 指向 ...

  7. Docker常用命令汇总

    Docker常用命令汇总 帮助命令 docker version docker info docker --help 镜像命令 docker images 列出本地主机上的镜像,各个选项说明如下: R ...

  8. linux常用命令汇总

    linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...

  9. python命令大全下载-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

最新文章

  1. 【Coursera】经验风险最小化
  2. 真人拳皇项目Alpha阶段的回顾——史经浩
  3. 3月份GitHub上最热门的开源项目
  4. php 仿电脑桌面系统,EonerCMS——做一个仿桌面系统的CMS(十-附最新源码)
  5. MVC PartialView视图使用心得
  6. 常见职位的英文简称_想进外企?英文简历少不了,看这里,教你英文简历的形式和技巧...
  7. java类 家族成员 姓氏_中国史上十大家族,占据中国九大姓,看看有没有你的姓氏...
  8. 小米盒子投屏+android,使用小米盒子手机投屏电视看村晚
  9. dos下的硬盘检测工具MHDD图文教程
  10. 中企海外周报 | 中国品牌闪耀亮相2019 IFA
  11. ghost win7旗舰版系统安装图文教程
  12. 直播平台软件开发都使用了什么协议呢?
  13. 减小PDF文档大小(转载)
  14. Java SE、Java ME、Java EE是什么以及关系
  15. Discuz论坛web网页mp3音频播放器源码下载
  16. 美通企业日报 | 应届生平均起薪7566元京沪最高;00后月均零花钱约470元
  17. 数量乘以单价的公式计算机,“excel公式大全详解“单价乘以数量 然后累加的公式 EXCEL...
  18. 边际效应以及边际效应的递减规律
  19. 服务中的mysql叫什么名_mysql 服务器名是什么意思
  20. 文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类

热门文章

  1. ASP.NET动态创建控件之绝境求生
  2. AIVA.AI:AI音乐作曲创作平台
  3. vue 刷新界面 解决闪屏和iOS失效问题
  4. 用计算机重启手机软件,手机“关机再启动”和“重启”有区别? 收藏下, 让手机更耐用些...
  5. 王者荣耀主页面html,CSS3实现王者荣耀匹配人员加载页面的方法
  6. python通达信模块_Python读取通达信数据
  7. 微软深夜放炸弹 Office 加持GPT-4 10亿打工人被革命
  8. nginx 培训文档
  9. vue本地项目配置图片加载失败_vue图片加载失败时用默认图片替换的方法
  10. 上海快速拿计算机本科文凭,怎么样才能快速获取本科学历文凭