[TOC] #### 1. git rm 基本使用 --- git rm 命令用于從暫存區(qū)和工作區(qū)中刪除內(nèi)容 一般情況下,我們刪除文件都是手動將文件刪除,但是這種刪除方式使用 **git status** 查看狀態(tài)就會看到文件在 **Changes not staged for commit** 的提示區(qū)域中 ![](https://img.itqaq.com/art/content/967046a9c3ae14fa14b08b14973abf75.png) 手動刪除只是刪除了工作區(qū)中的文件,如果要將刪除操作提交到版本庫,則需要先將刪除操作提交到暫存區(qū) ``` rm 4.txt git add 4.txt git commit -m '刪除文件4.txt' ``` 更加方便快捷的方式是使用 `git rm` 命令,它會將文件從工作區(qū)和暫存區(qū)刪除 ``` git rm 4.txt git commit -m '刪除文件4.txt' ``` 同理,刪除目錄只需要額外增加一個 `-r` 參數(shù)即可 ``` rm -r <folder> git rm -r <folder> ``` #### 2. git rm 命令參數(shù) --- 如果要刪除 **修改過并已提交到暫存區(qū)** 的文件,則必須要用強制刪除選項 `-f, --force` ``` git rm -f <file> ``` 如果只想把文件從暫存區(qū)中移除,希望文件保留在工作目錄中,可以使用 `--cached` 選項 ``` git rm --cached <file> ``` 如果刪除的是一個文件夾,則需要使用 `-r` 參數(shù) ``` git rm --cached -r <folder> ``` #### 3. git rm 應(yīng)用場景 --- 在 uniapp 項目中,unpackage 目錄是打包文件存放目錄,一般不會存放到 git 中。但是,如果這個目錄已經(jīng)提交到遠程庫,這個目錄放到 gitignore 中并不會被取消跟蹤。此時可以使用下面命令處理: ``` git rm --cached -r <folder> ```