搜尋

首頁  >  問答  >  主體

使用git如何批次對檔案進行rm操作

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

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

大家讲道理大家讲道理2801 天前794

全部回覆(5)我來回復

  • PHP中文网

    PHP中文网2017-04-21 10:59:25

    git add -A

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

    回覆
    0
  • 阿神

    阿神2017-04-21 10:59:25

    還有個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.

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 10:59:25

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

    回覆
    0
  • 高洛峰

    高洛峰2017-04-21 10:59:25

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

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-21 10:59:25

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

    回覆
    0
  • 取消回覆