項目中,咱們會用到 '.gitignore' 來忽略一些文件,不記錄這些文件的版本控制。 然而,常常發現,已經添加到了 '.gitignore' 的文件/目錄,每次的修改等扔會記錄版本。 產生這種緣由,通常都是因爲,在初始項目時,已經使用 git add 將該文件,加入到了版本庫 如何來從版本庫移除呢? git rm -r --cached /vendor git rm 的選項: -f, --force -n, --dry-run // 不真實刪除,只顯示將被刪除的文件 -r // 遞歸刪除目錄 -- // 用於將命令行選項和文件列表分開(當文件名和命令行選項比較容易混淆時,頗有用!) --cached // 咱們本次核心使用,不記錄到版本庫 --ignore-unmatch // 及時沒有匹配到要刪除的文件,也返回 '0' 狀態碼(不爆粗) -q, --quiet // 一般 git rm 會將刪除結果輸出,該選項抑制輸出! git commit -m "從版本庫移除vendor目錄" git push 感受博客總結的幾句話,很清晰,摘抄下(https://www.cnblogs.com/toward-the-sun/p/6599656.html): git rm 和 git rm --cached 區別: 當咱們須要刪除暫存區或分支上的文件,同時工做區 '不須要' 這個文件,能夠使用 'git rm' git rm file git commit -m 'delete file' git push 當咱們須要刪除暫存區或分支上的文件,可是本地 '須要' 這個文件,只是 '不但願加入版本控制',能夠使用 'git rm --cached' git rm --cached file git commit -m 'delete remote file' git push 參考文章: https://www.cnblogs.com/toward-the-sun/p/6599656.html http://blog.csdn.net/wtq1993/article/details/51556794 .gitignore 詳解: https://www.cnblogs.com/ShaYeBlog/p/5355951.html