所以我找到了一个解决方案,其中.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/*
*~
[#]*[#]
答案 0 :(得分:2)
我认为你需要
$ git update-index --assume-unchanged config_file
而不是修改.gitignore
文件以忽略它们。
通过这种方式,您可以将文件保留在那里,但所做的任何更改都将被忽略。需要修改时,请使用
$ git update-index --no-assume-unchanged config_file
重新跟踪文件。然后,您可以在config_file
上提交修改。
我认为这是管理配置相关文件的更好方法。 .gitignore
对于临时文件更好。 :)