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入门 时光穿梭鸡 版本回退 工作区 暂存区    参考其中的版本回退内容

     

  • 相关阅读:
    C++对象数组与对象指针
    C++析构函数
    centos7下安装mysql
    Java杂知识汇总(自己积累的)
    利用json模块解析dict报错找不到attribute 'dumps'[python2.7]
    Linux删除除了今天以外的文件
    docker简单介绍(资料收集总结)
    python不可以打印.doc文件
    python安装模块的时候报错error: command 'gcc' failed with exit status 1
    yum和head一起用,报错“由于管道被破坏而退出”
  • 原文地址:https://www.cnblogs.com/mkl7/p/10848938.html
Copyright © 2011-2022 走看看