项目管理---git----遇到问题------.gitignore不起作用

来源:互联网 发布:python 异或加密算法 编辑:程序博客网 时间:2024/06/05 01:04



情况

在管理一个版本库时,有时候不想要管理某些文件,这个时候我就把这个问价写到.gitignore文件中,这样应该就可以将这个文件忽略,不再进行·版本管理了,但是经常出现的情况是:将这些文件名写到其中了,使用


git status

查看发现这些文件并没有被忽略掉。




原因和解决方法


.gitignore不起作用的原因有两个:


远程库中已存在该文件

一是在远程git库中已存在了这个文件,之前push提交过该文件。

.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

解决

需要在远程git库中删除该文件,并在本地pull更新。

git pull 

然后再次git status查看状态,file1文件不再显示状态。






本地缓存区存在需要忽略的文件


想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。


git rm -r --cached .
git add .
git commit -m 'update .gitignore'



这里用.  是移除缓存区所有的文件,

如果只移除单个或者某个文件夹可以直接跟上文件名和文件夹。

例如移除

testFile.java

的缓存

git rm --cached testFile.java


这样,在.gitignore中写testFile.java,这个文件才可以被忽略掉。






0 0