git .gitignore失效的解決辦法
阿新 • • 發佈:2019-02-01
http://blog.csdn.net/andanlan/article/details/51114306
前言
在使用git這個多人協作的程式碼版本控制工具時,為了避免每次提交修改程式碼時,一些預期外的無用檔案的改動同時被提交併加入版本控制,需要將一些和程式碼無關的無用檔案排除在版本控制外,此時也就需要使用.gitignore檔案來指定這些需要忽略的檔案資訊。
不同型別的工程都有一些通用的.gitignore範本,一般在專案初始化以後,直接按照範本加入.gitignore檔案即可,這些使用.gitignore檔案指定的忽略檔案是不會被推送到遠端倉庫的,在以後的coding中就不用再關心這些被忽略的檔案了。
問題
-
已經初始化專案了,並配置.gitignore檔案了,可以另外追加忽略檔案麼?
直接追加進.gitignore檔案忽略檔案列表就可以了。
-
已經加入.gitignore檔案列表的被忽略檔案,想要進行改動,並提交推送到遠端倉庫,要如何做?
只需要將被忽略的檔案型別從.gitignore列表移除或註釋掉,再次修改原來被忽略型別的檔案時,就會提示此類檔案被修改,需要加入版本控制了。
-
原來被忽略的檔案,取消忽略後,可以重新加入忽略麼?
可以,同樣只需要再次追加進.gitignore檔案忽略檔案列表就可以了。
分隔線
真相
-
上文中的問題1、2、3會生效麼?
2會立即生效,1和3會出現失效的情況。
-
1和3為什麼會出現失效的情況?
這是由於gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。
-
怎麼解決1和3失效的情況
先把本地快取刪除(改變成未track狀態),然後再提交
git rm -r --cached . git add . git commit -m 'commit log info'
- 1
- 2
- 3
- 4