Git 代碼管理中 .gitignore 文件無效的解決方法
在用 Git 進行代碼管理的過程中,我們會發現後添加進去的 .gitignore 文件,或者是中途修改了 .gitignore 文件後,.gitignore 文件沒有生效,我們需要通過清除 track 緩存和 強制 track 來解決問題
在用Git 進行代碼管理的時候,我們會用.gitignore 文件來描述哪些文件是不需要進行版本管理的,也就是被忽略掉。如果我們在第一次提交的時候,忘記添加.gitignore 文件或者在首次添加了.gitignore 文件之後,又對.gitignore 文件進行了修改,你會發現這兩種情況下,.gitignore 文件是不生效的!我們可以用Git 命令行來解決以上問題。
先以一個Android 項目作為演示,創建一個Android 項目,然後不添加.gitignore 文件,直接提交到本地:
從以上提交的結果可以看出,沒有添加Android工程應有的.gitignore文件,比如.class文件沒有被忽略掉。現在我們去下載Android工程對應的.gitignore文件:
https://github.com/github/gitignore
注意:如果你發現你添加了 .gitignore 文件之後,.gitignore 文件的變化沒有被 track,那麼你需要去 SourceTree 的全局 .gitignore_global 文件中查看 .gitignore 文件是不是被聲明了不被 track!
SourceTree –> Preferences –> Git –> Global Ignore List
從上圖中我們可以看到 .java 文件編譯產生的 .class 文件依然被 track。而我們的 .gitignore 文件中是有 .class 文件的,說明這個時候添加的 .gitignore 文件是無效果的。
我們可以通過命令行的方式,解決以上問題!首先我們可以通過 SourceTree 界面中的 Terminal 打開 Git 命令行終端。或者你可以通過 Git 終端進入到當前項目的根目錄:
轉自ifeegoo 的個人博客
我們首先在裡面輸入:"git rm -r --cached .",此命令為清除緩存!
git rm -r --cached .
留言
張貼留言