git reset作用
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,以便确定要回到的哪个版本
最新文章
- php返回json数组
- 有向图的强连通分量——Tarjan
- Material Design之TextInputLayout使用示例
- eclipse不正常编译导致错误:Access denied for user 'root'@'localhost' (using password: YES)
- 经典ASP.NET MVC3.0入门详解
- Windows Server 2008 R2(x64) IIS7+PHP5(FastCGI)环境搭建
- 【译】addEventListener 第二个参数
- markdownpad2注册及样式调整
- Map 根据value 排序
- 自己写的python脚本(抄的别人的,自己改了改,用于整理大量txt数据并插入到数据库)
- 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
- java判断字符串是否回文
- mysql进阶(十三)命令行导出导入数据库
- jboss7开发配置指南
- Linux下时钟框架实践---一款芯片的时钟树配置
- (转)MERGE语法详解
- tyvj/joyoi 2018 小猫爬山
- Codeforces 607A - Chain Reaction - [DP+二分]
- oracle 11g enq: JI – contention等待事件
- JFrame添加组件
热门文章
- 剑指Offer —— BFS 宽度优先打印
- Hadoop-mapreduce 程序在windows上执行需要注意的问题
- react 项目实战(三)表单验证
- VS打包部署图文具体步骤及程序防卸载的制作(password验证卸载)
- MFC中按下Buttonbutton,弹出一个窗体的同一时候关闭本窗体
- height not divisible by 2
- ImportError: cannot import name _imaging
- 关于clojurescript+phantomjs+react的一些探索
- 【NOIP1999】【Codevs 1046】旅行家的预算
- leetcode 258. Add Digits——我擦,这种要你O(1)时间搞定的必然是观察规律,总结一个公式哇