gitignore文件不会忽略,git rm实际上会删除文件

时间:2013-02-15 08:03:04

标签: git github yii

所以我找到了一个解决方案,其中.gitignore应该忽略我告诉它的文件。但事实证明,如果你已经提交了它们,.gitignore文件并不重要。建议的解决方案是git rm filename。

我的问题是,
有一个我想贡献的回购,它已经提交了所有初始文件。所以我在.gitignore中添加了几个我想要gitignore的文件名并提交它推送它并将pull请求合并。
现在我正在对其中一个gitignore文件进行更改,当我执行git状态时,它会修改(预期)。所以我做了一个git rm index.php,文件被删除了。这不应该是解决方案,对吧?所以我应该删除它提交并推拉吗?它会消失的。
我确信我做错了。
欢迎任何帮助。

附:我读了这个Git Ready Link,但每次都假设不变,是不可行的。

我的gitignore文件看起来像这样:

/index.php
/assets/*
/protected/config/*
/protected/runtime/*
*~
[#]*[#]

1 个答案:

答案 0 :(得分:2)

我认为你需要

$ git update-index --assume-unchanged config_file

而不是修改.gitignore文件以忽略它们。

通过这种方式,您可以将文件保留在那里,但所做的任何更改都将被忽略。需要修改时,请使用

$ git update-index --no-assume-unchanged config_file

重新跟踪文件。然后,您可以在config_file上提交修改。

我认为这是管理配置相关文件的更好方法。 .gitignore对于临时文件更好。 :)