zoukankan      html  css  js  c++  java
  • Git之删除文件 git rm 的基本使用

    • 在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:
    $ git add test.txt
    
    $ git commit -m "add test.txt"
    [master b84166e] add test.txt
     1 file changed, 1 insertion(+)
     create mode 100644 test.txt
    

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

    $ rm test.txt
    
    • 这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
    	deleted:    test.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    • 现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
    $ git rm test.txt
    rm 'test.txt'
    
    $ git commit -m "remove test.txt"
    [master d46f35e] remove test.txt
     1 file changed, 1 deletion(-)
     delete mode 100644 test.txt
    

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

    小提示:先手动删除文件,然后使用git rm <file>git add<file>效果是一样的。

    • 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
    $ git checkout -- test.txt
    
    • git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原 ”。

    注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!

    小结

    命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

    前一节写的:

    • 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    • 总之,就是让这个文件回到最近一次git commit或git add时的状态。

    这节里后面写的:

    • 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
    $ git checkout -- test.txt
    
    • git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254921.html

  • 相关阅读:
    问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
    使用pandas进行数据分析-pandas库介绍之DataFrame基本操作
    【USACO 2017 February Gold】Problem 3. Why Did the Cow Cross the Road III
    JZOJ【USACO 2017 December Silver】Milk Measurement
    JZOJ.2020.05.23【NOIP提高组】模拟(反思)
    PRIM+KRUSKAL
    draggable
    easyUI使用的两种方法
    MySQL 常见函数
    jdbc,hibernate,mybatis调用存储过程
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254921.html
Copyright © 2011-2022 走看看