首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

项目管理---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,这个文件才可以被忽略掉。
返回列表