1. 程式人生 > >git .gitignore失效的解決辦法

git .gitignore失效的解決辦法

http://blog.csdn.net/andanlan/article/details/51114306

前言

在使用git這個多人協作的程式碼版本控制工具時,為了避免每次提交修改程式碼時,一些預期外的無用檔案的改動同時被提交併加入版本控制,需要將一些和程式碼無關的無用檔案排除在版本控制外,此時也就需要使用.gitignore檔案來指定這些需要忽略的檔案資訊。

不同型別的工程都有一些通用的.gitignore範本,一般在專案初始化以後,直接按照範本加入.gitignore檔案即可,這些使用.gitignore檔案指定的忽略檔案是不會被推送到遠端倉庫的,在以後的coding中就不用再關心這些被忽略的檔案了。

問題

  1. 已經初始化專案了,並配置.gitignore檔案了,可以另外追加忽略檔案麼?

    直接追加進.gitignore檔案忽略檔案列表就可以了。

  2. 已經加入.gitignore檔案列表的被忽略檔案,想要進行改動,並提交推送到遠端倉庫,要如何做?

    只需要將被忽略的檔案型別從.gitignore列表移除或註釋掉,再次修改原來被忽略型別的檔案時,就會提示此類檔案被修改,需要加入版本控制了。

  3. 原來被忽略的檔案,取消忽略後,可以重新加入忽略麼?

    可以,同樣只需要再次追加進.gitignore檔案忽略檔案列表就可以了。

分隔線

真相

  1. 上文中的問題1、2、3會生效麼?

    2會立即生效,1和3會出現失效的情況。

  2. 1和3為什麼會出現失效的情況?

    這是由於gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。

  3. 怎麼解決1和3失效的情況

    先把本地快取刪除(改變成未track狀態),然後再提交

    git rm -r --cached .
    git add .
    git commit -m 'commit log info'
    
    • 1
    • 2
    • 3
    • 4

參考