最近在进行项目配置的时候,想使用git的忽略文件的功能,忽略的文件一般是配置项文件,这些文件不用提交的代码库内,但是发现并不能直接进行忽略。经过查阅文档发现。
已经进行过git提交的文件是无法直接进行忽略的。
如果要使用git忽略文件的功能,首先要确保这个文件之前未在git提交过。
但是如果我想在已经提交过的文件使用git的忽略功能,又该如何实现呢?
首先要把删除当前文件的追踪状态
git rm --cached xxxx/xxxxx/xxx.js
然后把对应的规则写入 .gitignore文件内,让忽略真正生效;
最后进行提交操作就可以解决这个问题。
git commit
但是有时又会突发奇想,觉得不需要移除追踪状态的方法,只在本地忽略掉,有以下几种方法,但是这些方法都是基于当前分支进行操作了,一旦切换分支,还是无法保证代码的干净。
git update-index --assume-unchanged xxx/xxx/xxx.js //忽略
git update-index --no-assume-unchanged xxx/xxx/xxx.js //移除忽略
git update-index --skip-worktree xxx/xxx/xxx.js //忽略
git update-index --no-skip-worktree xxx/xxx/xxx.js //移除忽略
两种方法都可以,不过这两种方法都是基于本地进行处理的,只是说在进行项目处理的时候可以忽略这些文件的提交,一旦切换分支就可能报错了。还需要把文件进行还原。
以上就是目前对git忽略gitignore的理解,欢迎大家交流沟通。