## git rm 將文件從緩存區移除
`git rm`?會將條目從緩存區中移除。這與?`git reset HEAD`?將條目取消緩存是有區別的。 “取消緩存”的意思就是將緩存區恢復為我們做出修改之前的樣子。 在另一方面,`git rm`?則將該文件徹底從緩存區踢出,因此它不再下一個提交快照之內,進而有效地刪除它。
默認情況下,`git rm file`?會將文件從緩存區和你的硬盤中(工作目錄)刪除。 如果要在工作目錄中留著該文件,可以使用?`git rm --cached`
### git mv?git rm –cached orig; mv orig new; git add new
不像絕大多數其他版本控制系統,Git 并不記錄記錄文件重命名。它反而只記錄快照,并對比快照以找到有啥文件可能被重命名了。 如果一個文件從更新中刪除了,而在下次快照中新添加的另一個文件的內容與它很相似,Git 就知道這極有可能是個重命名。 因此,雖然有?`git mv`?命令,但它有點多余 —— 它做得所有事情就是?`git rm --cached`, 重命名磁盤上的文件,然后再執行?`git add`?把新文件添加到緩存區。 你并不需要用它,不過如果覺得這樣容易些,盡管用吧。
我自己并不使用此命令的普通形式 —— 刪除文件。通常直接從硬盤刪除文件,然后執行?`git commit -a`?會簡單些。 它會自動將刪除的文件從索引中移除。
> **簡而言之**, 執行?`git rm`?來刪除 Git 追蹤的文件。它還會刪除你的工作目錄中的相應文件。