我已经尝试了之前Stackoverflow关于如何忽略文件的建议:Ignore files that have already been committed to a Git repository
建议:
git rm -r --cached .
我正在使用的命令:
git rm -r --cached application/config/config.php
//i only want to ignore this one file
不幸的是,当我执行git add.
然后git commit
时,我的config.php从存储库已删除,而不仅仅是被忽略。
我的根目录中有一个.gitignore文件,它包含以下列表项:
application/config/config.php
是否有人能够帮助我理解为什么这个config.php文件被删除并且没有被忽略?
这是我的git状态显示的内容:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .gitignore
# modified: application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")
谢谢,
添
答案 0 :(得分:3)
它已从存储库中删除,因为您已将其删除。 git rm
将删除该文件,--cached
将其保留在您的工作目录中。
如果您想要这样做,可以执行git update-index --assume-unchanged <filename>
,因此它永远不会注意到对文件的更改,但会将旧版本保留在您的存储库中。进一步阅读:http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html