Board logo

标题: 项目管理---git----遇到问题------.gitignore不起作用 [打印本页]

作者: look_w    时间: 2019-5-13 09:40     标题: 项目管理---git----遇到问题------.gitignore不起作用

情况

在管理一个版本库时,有时候不想要管理某些文件,这个时候我就把这个问价写到.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,这个文件才可以被忽略掉。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0