git reset:

  1. 文件从暂存区回退到工作区,撤销add

  2. 版本回退 

一:文件从暂存区回退到工作区,撤销add

  如果想取消某个add的文件,可以使用该命令来进行撤销操作

  撤消add:git reset 文件名

  撤消所有add的文件:git reset HEAD .

  撤消某个文件或文件夹:git reset HEAD 文件(夹)名

  把从cache中删除的文件,重新添加到cache中: git add -f 文件名

   eg:今天add文件的时候,不小心使用了git add .  将配置文件等也给add到缓存区了,那么如何从缓存区撤销我们不想add的文件呢? 使用命令: git  reset  fileName

  但是,如果不小心使用了git rm --cached fileName清除缓存,此时缓存区中的文件已经被清除了,我们需要将撤销的文件再add到缓存区,接下来使用git reset fileName命令

二:版本回退 

1. git reset  --mixed commit的id 

还原到commit的id,(git reset 默认是mixed )此commit之后的文件变成modified红色(即还没add的状态)

2. git reset  --soft commit的id 

还原到commit的id,此commit之后的文件变成modified绿色(即add(勾选中)的状态)

3. git reset --hard commit的id 

还原到commit的id,此commit之后的文件都被还原

三:对reset进行撤销

睡了一觉,第二天醒来,我们后悔了,又想回到reset之前的状态,该怎么做呢?

Git提供了一个命令git reflog用来记录每一次的操作,及时是reset掉的commit记录,reflog都会有记录,所以只需找到对应的commitId,以便确定要回到的哪个版本

最新文章

  1. php返回json数组
  2. 有向图的强连通分量——Tarjan
  3. Material Design之TextInputLayout使用示例
  4. eclipse不正常编译导致错误:Access denied for user 'root'@'localhost' (using password: YES)
  5. 经典ASP.NET MVC3.0入门详解
  6. Windows Server 2008 R2(x64) IIS7+PHP5(FastCGI)环境搭建
  7. 【译】addEventListener 第二个参数
  8. markdownpad2注册及样式调整
  9. Map 根据value 排序
  10. 自己写的python脚本(抄的别人的,自己改了改,用于整理大量txt数据并插入到数据库)
  11. 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
  12. java判断字符串是否回文
  13. mysql进阶(十三)命令行导出导入数据库
  14. jboss7开发配置指南
  15. Linux下时钟框架实践---一款芯片的时钟树配置
  16. (转)MERGE语法详解
  17. tyvj/joyoi 2018 小猫爬山
  18. Codeforces 607A - Chain Reaction - [DP+二分]
  19. oracle 11g enq: JI – contention等待事件
  20. JFrame添加组件

热门文章

  1. 剑指Offer —— BFS 宽度优先打印
  2. Hadoop-mapreduce 程序在windows上执行需要注意的问题
  3. react 项目实战(三)表单验证
  4. VS打包部署图文具体步骤及程序防卸载的制作(password验证卸载)
  5. MFC中按下Buttonbutton,弹出一个窗体的同一时候关闭本窗体
  6. height not divisible by 2
  7. ImportError: cannot import name _imaging
  8. 关于clojurescript+phantomjs+react的一些探索
  9. 【NOIP1999】【Codevs 1046】旅行家的预算
  10. leetcode 258. Add Digits——我擦,这种要你O(1)时间搞定的必然是观察规律,总结一个公式哇