项目管理---git----遇到问题------.gitignore不起作用
- UID
- 1066743
|
项目管理---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,这个文件才可以被忽略掉。 |
|
|
|
|
|