0

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

我的问题是,
有一个我想贡献的 repo,它已经提交了所有初始文件。因此,我在 .gitignore 中添加了一些我想要 gitignore 的文件名,并提交它推送它并合并拉取请求。
现在我正在对其中一个 gitignore 文件进行更改,当我执行 git status 时,它显示修改(预期)。所以我做了一个 git rm index.php 并且文件被删除了。这不应该是解决方案,对吧?那么我应该删除它并提交它并推拉它吗?那时就没有了。
我确定我做错了什么。
欢迎任何帮助。

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

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

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

1 回答 1

2

我想你需要

$ git update-index --assume-unchanged config_file

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

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

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

重新跟踪文件。然后你可以提交修改config_file

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

于 2013-02-15T08:17:08.217 回答