美文网首页
Git使用教程-7.删除文件

Git使用教程-7.删除文件

作者: Justin小贾同学 | 来源:发表于2021-09-23 07:00 被阅读0次

    删除文件

    如何删除文件?在Git中,删除也是修改操作。我们先添加一个新文件,并且提交。

    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git add test.txt
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git commit -m "add a test file"
    [master d4aa161] add a test file
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 test.txt
    
    01.png

    一般的,我们直接在文件管理器中把没用的文件删了。但是,我们通过git status命令会发现,Git追踪到工作区和版本库不一致了。

    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ rm test.txt
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
            deleted:    test.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    02.png
    如果确实需要从版本库中删除该文件,那么就使用命令 git rm 删掉,并且 git commit
    $ git rm test.txt
    rm 'test.txt'
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git commit -m "del test file"
    [master 798def8] del test file
     1 file changed, 0 insertions(+), 0 deletions(-)
     delete mode 100644 test.txt
    
    03.png

    撤销删除

    如果不小心删错了,但是版本库还有的,可以很轻松地把误删的文件恢复。

    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git log
    commit 798def8365fc6a4273e5deed7a3e2ebf135c60d1 (HEAD -> master)
    Author: siebe <2797091353@qq.com>
    Date:   Wed Sep 22 15:18:22 2021 +0800
    
        del test file
    
    commit d4aa161199fb24da816125372fdc2c1a95f5b93d
    Author: siebe <2797091353@qq.com>
    Date:   Wed Sep 22 15:08:50 2021 +0800
    
        add a test file
    
    commit 502c3cffcd184e6e132cf74c13e2932c041fe184
    Merge: f54c91d d9b0f66
    Author: siebe <2797091353@qq.com>
    Date:   Sat Sep 18 01:13:38 2021 +0800
    
        cc
    
    commit f54c91dd42477f8f260cd2fa72a0b31f3f03d75d
    Author: siebe <2797091353@qq.com>
    Date:   Sat Sep 18 01:10:26 2021 +0800
    
        ddd
    
    commit d9b0f66695149cb31d730a6e3aff716f4a3a1e51
    Author: siebe <2797091353@qq.com>
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git re
    rebase         remote         replace        reset          revert
    reflog         repack         request-pull   restore
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git res
    reset     restore
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git reset
    HEAD        ORIG_HEAD   master
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git reset HEAD
    HEAD        ORIG_HEAD   master
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git reset HEAD^
    Unstaged changes after reset:
    D       test.txt
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
            deleted:    test.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ git restore test.txt
    
    23696@DESKTOP-GKRBCVI MINGW64 ~/Desktop/MyProject (master)
    $ ls
    README.md  index.php  login.php  test.txt
    

    很快啊,文件就恢复了。(有没有马老师的味道)

    04.png

    相关文章

      网友评论

          本文标题:Git使用教程-7.删除文件

          本文链接:https://www.haomeiwen.com/subject/eafggltx.html