git忽略想要提交的文件
再使用webstrom的時候總會出現.idea文件,每次提交git的時候都會提交上去,所以找了下解決方法:
在項目中有些配置文件不需要提交,但是有同學在後面開發中發現在.igonore文件中無論如何都無法忽略某些文件的提交。原因在這裏:
下面是我試的幾種方法
1、方法
已經維護起來的文件,即使加上了gitignore,也無濟於事。----
那麽如何解決呢?方式如下
git update-index --assume-unchanged 要忽略的文件夾/文件夾下文件名
比如我要忽略項目下.idea文件夾下所有xml文件,idea下都是xml文件(我用的webstorm):
git update-index --assume-unchanged .idea/*.xml
如果要重新恢復提交,使用如下命令:
git update-index --assume-unchanged .idea/*.xml
這樣每次提交就不會提交idea下的文件了。
2、設置webstrom
第一步:找到setting =》Editor =》File Types
第二步:編輯,在後面添加 *.iml;*.idea;*.gitignore;*.sh;*.classpath;*.project;*.settings;target;logs;
或者添加*.hprof;*.idea;*.iml;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.svn;CVS;__pycache__;_svn;vssver.scc;vssver2.scc;
總之需要忽略什麽文件就 *.文件後綴名; 註意兩個文件之間用 ; 分號分隔
3、創建 .gitignore
首先找到你的項目目錄
創建 .gitignore 文件
然後把不想提交的文件的文件名輸入進去
特殊操作:
# 此為註釋 – 將被 Git 忽略
*.a # 忽略所有 .a 結尾的文件
!lib.a # 但 lib.a 除外
/TODO # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
/vendor /node_modules /public/storage Homestead.yaml Homestead.json .env .idea
有時候會遇到創建了.gitignore 文件,發現忽略的文件依然存在:
原因是:再git庫中已經存在了這個文件,之前提交過該文件,而.gitinore只對還沒提交過的文件有效;
解決辦法:需要刪除該文件,並更新,然後查看文件狀態(git status),文件不在顯示,再提提交就沒有.idea文件了
git忽略想要提交的文件