zoukankan      html  css  js  c++  java
  • Git 时光穿梭鸡 删除文件 以及批量删除文件

        

    先添加一个新文件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入门 时光穿梭鸡 版本回退 工作区 暂存区    参考其中的版本回退内容

     

  • 相关阅读:
    redis的发布订阅模式pubsub
    django集成celery之callback方式link_error和on_failure
    linux命令和awk
    使用beanstalkd实现定制化持续集成过程中pipeline
    JavaScript实现模糊推荐的input框(类似百度搜索框)
    hadoop streaming编程小demo(python版)
    一个scrapy框架的爬虫(爬取京东图书)
    mongodb生产环境(副本集模式)集群搭建配置
    TensorFlow加载图片的方法
    STC15W408AS简单使用教程-简单的光强检测!
  • 原文地址:https://www.cnblogs.com/mkl7/p/10848938.html
Copyright © 2011-2022 走看看