場景描述:uni-app項目初始化之後,建立了
.gitignore
,内容如下:
node_modules
.DS_Store
然後就開始寫代碼了。後來發現每次修改内容,在
unpackage
目錄下都會生成一堆編譯後的檔案,這個是沒必要送出到代碼庫的。在剛開始的時候沒考慮到把該目錄也添加到
.gitignore
中,是以送出了部分該目錄下的檔案。
後來才真正把
unpackage
目錄添加到
.gitignore
中,但是很快就發現修改代碼後,
unpackage
目錄中的檔案居然還會出現在待送出的git檔案中。
網上查找後,發現git有這樣的一條規則:
.gitignore隻忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的
。
知道了問題所在,自然就有解決辦法啦:清理之前送出過的緩存,然後重新送出即可。
進入項目根目錄,運作指令:
git rm -r --cached .
git add .
git commit -m '更新 .gitignore'

然後再繼續編寫代碼,發現
unpackage
目錄下的檔案再也不會出現在待送出的git檔案清單中啦!
到此,
.gitignore 不起作用
的問題就完美解決啦!這裡的
.gitignore 不起作用
并不是完全不起作用,而是對于那些已經被添加版本控制後的檔案,如果想要從版本控制中忽略,單純的在
.gitignore
中添加相應的路徑或檔案還是不能起作用的。
【uni-app填坑】.gitignore 不起作用的解決辦法