用了一段時間git了,一直有個問題沒解決。當做了一些修改時,一般會直接 "git add ." 先將文件staged起來。
但是"git add ."對被刪除的內容是無效的,還需要"git rm filename"刪除文件,但是git rm命令貌似沒有類似"git rm ."的用法(這樣可以執行,但意思是刪除所有文件),於是,當有比較大量的文件被刪除時,一個個的git rm非常麻煩。。我現在基本上都是到gui的git(比如mac的Tower)中全選,批量Stage搞定,但是,命令行下麵如何做比較方便呢,難道要自己寫個腳本?
它會把我們未透過 git rm 刪除的檔案全部stage
還有個
git commit -a
可以用, 大致是刪除的檔案會自動標記, 但對新建檔案就不行git 可以用glob 模式通配符。 Git 也有它自己的檔案模式擴充匹配方式 例如 git rm *.c 刪除目前目錄及遞歸所有子目錄下.c結尾的檔案。 git rm *.c 則只刪除目前目錄的.c 檔案。
我之前也遇到樓主的問題,困惑很久,每次都要手動去清cach的文件。
今天百度到樓主這裡,也沒有找到答案,然後剛好遇到需求,就想了一下,有一個辦法。
1.先把快取中的檔案清空。
git rm -r --cached 某個目錄
2、再把所有檔案重新加入快取
git add .
git rm * -f刪除目前git項目下的所有檔案(包括所有目錄)