先添加一个新文件test.txt到Git并且提交:

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了

$ rm test.txt

这个时候,Git知道你删除了文件,

因此,工作区和版本库就不一致了,

git status命令会立刻告诉你哪些文件被删除了:

 现在你有的选择:

  情况一   是确实要从版本库中删除该文件,那就用命令  git rm 删掉,

      并且  git commit

    

    

  现在,文件就从版本库中被删除了。

  情况二   另一种情况是删错了,并且还没有add到暂存区

     因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

    只是在工作区删除了

    可以使用git checkout 命令从 版本库 恢复  

    $ git checkout -- test.txt

   ( 恢复全部用 git checkout . )

  情况三 删错了, 而且已经add到暂存区了, 但是还没有提交    想恢复

    参考Git 时光穿梭鸡 撤销修改  中的工作区内容修改了, 并且已经add到暂存区了, 想回退到上一个版本

    

      用命令git reset HEAD <file>

      >>>>>>>>可以   把暂存区的修改撤销掉(unstage),并且 重新放回工作区:

       git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。

          当我们用HEAD时,表示最新的版本。

        git reset HEAD test.txt   回退单个文件

        git reset HEAD  全部回退

           

         再用git status查看一下,现在暂存区是干净的,工作区有修改:

         

         再使用    git checkout .    或   git checkout --test.txt   丢弃工作区的修改

          

    现在工作区同版本库一致了

>>>>>>>>>>>补充 批量删除文件

参考git批量删除文件和批量提交

      >>>>如果你用的rm删除文件,那就相当于只删除了工作区的文件   想恢复,参考上面情况二

  >>>>如果你用的是git rm删除文件,那就相当于不仅删除了文件,而且还添加到了暂存区

      想恢复,参考上面情况三

新建目录 removeTest  并在其中新建两个文件

add  到暂存区

commit到版本库

批量删除方法一:(如果是删除当前文件夹下所有文件,方法一将删除该空文件夹一并删除,不会保留文件夹

      操作:(cd 到你要删除的目录下或者 * 可用“”文件夹名“”代替)  -r 代表 recursively(递归)

        $ git rm * -r

        $ git commit -m "clear"

        
    $ git rm removeTest -r

       

      

       查看一下状态

       

     此时  removeTest下的文件  连同 该目录  都被删除了    此次删除发生在工作区 和 暂存区  

              ( 如果想撤销此次删除 , 参考上面情况三)

      

     commit提交此次删除 , 此时版本库中也删除了

      (如果想撤销 , 见底部链接)

       


方法二:手动在文件管理器中删除批量文件,然后执行命令:(如果是删除当前文件夹下所有文件,方法二仍会保留该空文件夹)

        $ git add .

        $ git commit -m "clear"

现在,假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?

Git入门 时光穿梭鸡 版本回退 工作区 暂存区    参考其中的版本回退内容

Git 时光穿梭鸡 删除文件 以及批量删除文件的更多相关文章

  1. Git 时光穿梭鸡 撤销修改

    工作区内容修改了, 但是并未add到暂存区, 想 回退到上一个版本 在readme.txt中添加了一行: Git is a distributed version control system. Gi ...

  2. Git 时光穿梭鸡 管理修改

    Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改, 删除了一行,也是一个修改, 更改了某些字符,也是一个修改, 删了一些又加了一些,也是一个修改, 甚至创建一个新文 ...

  3. R8—批量生成文件夹,批量读取文件夹名称+R文件管理系统操作函数

    一. 批量生成文件夹,批量读取文件夹名称 今日,工作中遇到这样一个问题:boss给我们提供了200多家公司的ID代码(如6007.7920等),需要根据这些ID号去搜索下载新闻,从而将下载到的新闻存到 ...

  4. Git入门 时光穿梭鸡 版本回退 工作区 暂存区

    分布式集中式 CVS及SVN都是集中式的版本控制系统 , 而Git是分布式版本控制系统 集中式版本控制系统,版本库是集中存放在中央服务器的, 而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得 ...

  5. iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除

    首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这 ...

  6. redis批量删除key 远程批量删除key

    一.遇到的问题 在开发的过程中,经常会遇到要批量删除某种规则的key,如缓存的课程数据“course-课程uid”,其中课程uid是变量,我们需要删除"course-*"这一类的数 ...

  7. 第二课 ---git时光穿梭(版本回退)

    1.  git  status  掌握仓库当前的状态. 2.  git  diff 查看修改的内容部分. //版本回退: 1.查看更新的历史记录. git log git log --pretty=o ...

  8. git批量删除文件和批量提交

    1. 单个删除文件: ① 通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:(可选操作,可直接执行②删除) $ rm test.txt ② 确实要从版本库中删除该文件,那就用命令git rm ...

  9. php七牛批量删除空间内的所有文件方法

    相信大家都在使用七牛的免费云存储服务的同时,有清空七牛云存储镜像文件或者批量删除七牛云空间文件的需求,该怎么做?官方的工具好像并没有提供批量删除的功能,七牛云官方给出的建议是删除空间,再新建一个这样太 ...

随机推荐

  1. 【题解】 P5021赛道修建

    [题解]P5021 赛道修建 二分加贪心,轻松拿省一(我没有QAQ) 题干有提示: 输出格式: 输出共一行,包含一个整数,表示长度最小的赛道长度的最大值. 注意到没,最小的最大值,还要多明显? 那么我 ...

  2. 关联android-support-v4源码关联不上的解决办法

    在android项目中查看android-support-v4中的源码提示“Android Private Libraries which does not modified source attac ...

  3. keras: 在构建LSTM模型时,使用变长序列的方法

    众所周知,LSTM的一大优势就是其能够处理变长序列.而在使用keras搭建模型时,如果直接使用LSTM层作为网络输入的第一层,需要指定输入的大小.如果需要使用变长序列,那么,只需要在LSTM层前加一个 ...

  4. uboot 2013.01 s3c6400编译失败

    通常我们对s3c6410平台开发u-boot是在s3c6400的基础上修改而成的,但是从uboot 2013.01这个版本之后的版本都把smdk6400对应的配置给删除了. 这是因为该版本smdk64 ...

  5. Contiki 2.7 Makefile 文件(二)

    二.Makefile.include 1.第一部分 (1) ifndef CONTIKI ${error CONTIKI not defined! You must specify where Con ...

  6. .net 常用的插件列表

    1,.net 分布式Session 解决方案RedisSessionStateProvider 2,c# 表达式树查看工具 Expression Tree Visualizer 3,sqlbuilde ...

  7. hdmap相关

    图片来源:https://vires.com/ 新闻摘抄: 对此,武汉光庭信息技术股份有限公司副总经理罗跃军告诉记者:“事实上,最初由自动驾驶车身控制系统协会所提出的地图精度要求很高,需要达到5cm甚 ...

  8. matlab之sortrows()函数

    sortrows()函数的格式: sortrows(A,column) A是一个矩阵,如果没有第二个参数column,则默认按照第一列升序排列,如果遇到重复数字,则按照第二列升序排列,依次类推... ...

  9. 关于STM32中GPIO的8种工作模式

    CSDN:http://blog.csdn.net/l20130316 博客园:http://www.cnblogs.com/luckyalan/ 1 综述 I/O口是单片机中非常常用的外设,STM3 ...

  10. BZOJ4307: Maishroom & Class

    感觉有一点题面没有说得特别明确,就是一个人代替了其他人之后,另一个可以被他代替的人就不能让他来代替自己了. 每个人向自己可以代替的人连边,额外增加一个源点$r$向所有助教连边.第一问答案是$r$不能到 ...