使用git如何批次對檔案進行rm操作
大家讲道理
大家讲道理 2017-04-21 10:57:25
0
5
781

用了一段時間git了,一直有個問題沒解決。當做了一些修改時,一般會直接 "git add ." 先將文件staged起來。

但是"git add ."對被刪除的內容是無效的,還需要"git rm filename"刪除文件,但是git rm命令貌似沒有類似"git rm ."的用法(這樣可以執行,但意思是刪除所有文件),於是,當有比較大量的文件被刪除時,一個個的git rm非常麻煩。。我現在基本上都是到gui的git(比如mac的Tower)中全選,批量Stage搞定,但是,命令行下麵如何做比較方便呢,難道要自己寫個腳本?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(5)
洪涛
git add -A

它會把我們未透過 git rm 刪除的檔案全部stage

阿神

還有個git commit -a可以用, 大致是刪除的檔案會自動標記, 但對新建檔案就不行

-a, --all ____ Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not affected.
伊谢尔伦

git 可以用glob 模式通配符。 Git 也有它自己的檔案模式擴充匹配方式 例如 git rm *.c 刪除目前目錄及遞歸所有子目錄下.c結尾的檔案。 git rm *.c 則只刪除目前目錄的.c 檔案。

小葫芦

我之前也遇到樓主的問題,困惑很久,每次都要手動去清cach的文件。
今天百度到樓主這裡,也沒有找到答案,然後剛好遇到需求,就想了一下,有一個辦法。
1.先把快取中的檔案清空。
git rm -r --cached 某個目錄
2、再把所有檔案重新加入快取
git add .

左手右手慢动作

git rm * -f刪除目前git項目下的所有檔案(包括所有目錄)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板