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