清空git緩存
一、總結
一句話總結:
git rm --cached "文件路徑",不刪除物理文件,僅將該文件從緩存中刪除;
git rm --f "文件路徑",不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶);
二、清空git緩存
轉自或參考:git刪除緩存區中文件
https://www.cnblogs.com/coder-zyc/p/9785002.html
刪除緩沖區中的文件
- git rm --cached "文件路徑",不刪除物理文件,僅將該文件從緩存中刪除;
- git rm --f "文件路徑",不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶);
如果一個文件已經add到暫存區,還沒有 commit,此時如果不想要這個文件了,有兩種方法:
- 用版本庫內容清空暫存區,git reset HEAD 回退到當前版本(在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100);
- 只把特定文件從暫存區刪除,git rm --cached xxx;
======================================================
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
讀了下git文檔,才發現,這些東西其實很簡單,很容易理解。cached其實就是暫存區,然后一個是工作的目錄,你的工作目錄的東西做出修改時,會和緩存區進行對比,因此你git status時,會顯示出來這個差異,因此為了使.gitignore中的內容生效,那么就刪除掉暫存區,然后將所有本地文件追蹤一下,就得到最新的暫存區文件。