.gitignore更新後如何生效

GIT是個十分受歡迎的版本控制器,尤爲適合項目當中有新手的狀況,由於除了服務器之外, 每一個人都有項目的完整歷史,這就減小了由於項目管理員疏忽再加上新手的誤操做致使災難的發生。git

GIT新手最容易犯的一個錯誤就是沒有添加.gitignore,而把不應上傳的東西上傳了, 而GIT老手有時會由於在規則裏面寫了個.*而致使.gitignore沒有加入到版本控制當中, 過後才發現,但此時項目中已充斥了「垃圾」。服務器

此時項目管理者才追悔莫及,乾淨修改.gitignore並提交到版本控制當中。 但大錯已鑄成,新添的.gitignore不會影響已經加入到項目中的文件,GIT老手此時也可能沒有什麼好辦法, 只能把不應有的東西手動刪除掉,再從新提交。但更麻煩的是,這些「垃圾」可能還有用, 如Java項目中依賴的一些*.jar庫文件,直接刪了會出問題,要在修好項目後從新加回來。 若是隻有幾個文件還好,若是成百上千,這樣操做,一天都不用幹別的了。版本控制

但問題總會有聰明辦法解決。GIT中用git rm --cached xxx能夠在不動項目當前工做空間的狀況下, 將文件從當前(未提交)版本中移除。如此而來簡單方法就出來了:code

git rm -r --cached .
git add .
git commit -m ".gitignore is now working"

在項目根目錄執行簡單三行命令,就先把全部文件從版本控制中移除,而後再從新加回來。 提交上傳後,就發現新的.gitignore就今生效了,不應有的文件再也不被傳來傳去了。項目管理

相關文章
相關標籤/搜索