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文件了