我刚刚在我的新项目的根上做了一个git初始化。
然后我创建了一个.gitignore文件。
现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?
我刚刚在我的新项目的根上做了一个git初始化。
然后我创建了一个.gitignore文件。
现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?
当前回答
以防别人和我们有同样的痛苦。 我们想要排除一个已经提交的文件。
这篇文章更有用: 使用.git/info/exclude太晚了
具体来说,你需要忽略一个文件实际上是使用命令git remove 参见git rm (http://www.kernel.org/pub/software/scm/git/docs/git-rm.html)
你通过去测试它
Git rm——dry-run *.log (如果你说想要排除所有日志文件)
这将输出如果运行它将被排除的内容。
then
你通过运行它
Git rm *.log (或任何你想要的文件名路径/表达式)
然后在.gitignore文件中添加*.log行。
其他回答
其思想是将特定于项目的文件放入.gitignore文件中,并(如前所述)将其添加到存储库中。例如.pyc和.o文件,测试套件创建的日志,一些fixture等等。
对于您自己的安装程序创建的但不一定会出现在每个用户面前的文件(例如。swp文件,如果您使用vim,隐藏的ecplise目录等),您应该使用.git/info/exclude(如上所述)。
你可以在。gitignore文件中加入一行。gitignore。这将导致git忽略.gitignore文件。我不认为这是个好主意。我认为ignore文件应该被版本控制和跟踪。我只是为了完整起见。
最终用户很可能希望Git忽略”。gitignore”文件,因为Eclipse创建的IDE特定文件夹可能与NetBeans或其他IDE不同。因此,为了保持源代码与IDE的对立性,很容易忽略一个自定义git,因为每个开发人员可能使用不同的IDE,而不与整个团队共享。
在我的例子中,我想排除一个现有文件。 仅修改。gitignore无效。 我是这样做的:
git rm --cached dirToFile/file.php
vim .gitignore
git commit -a
通过这种方式,我从缓存中清除了我想要排除的文件,并将其添加到.gitignore。
我发现忽略烦人的. ds_store文件的最佳位置是在.git/info/exclude文件中。
当您在IntelliJ中设置git存储库时,它似乎会自动执行此操作。