git添加/提交删除而不仅仅是忽略.gitignore被忽略的文件

时间:2012-04-02 14:34:01

标签: git github gitignore

我已经尝试了之前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")

谢谢,

1 个答案:

答案 0 :(得分:3)

它已从存储库中删除,因为您已将其删除。 git rm将删除该文件,--cached将其保留在您的工作目录中。

如果您想要这样做,可以执行git update-index --assume-unchanged <filename>,因此它永远不会注意到对文件的更改,但会将旧版本保留在您的存储库中。进一步阅读:http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html