我刚刚在我的新项目的根上做了一个git初始化。
然后我创建了一个.gitignore文件。
现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?
我刚刚在我的新项目的根上做了一个git初始化。
然后我创建了一个.gitignore文件。
现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?
当前回答
当然,.gitignore文件会显示在状态中,因为它是未跟踪的,git将它视为一个美味的新文件!
然而,由于.gitignore是一个未跟踪的文件,当你把它放在.gitignore中时,它是一个被git忽略的候选文件!
所以,答案很简单:只需添加一行:
.gitignore # Ignore the hand that feeds!
到你的。gitignore文件!
而且,与August的回答相反,我应该说.gitignore文件不应该在您的存储库中。它只是碰巧可以,这通常是方便的。这可能就是.gitignore被创建为.git/info/exclude的替代品的原因,后者没有被存储库跟踪的选项。无论如何,如何使用.gitignore文件完全取决于您。
作为参考,请查看kernel.org上的gitignore(5) manpage。
其他回答
在我的例子中,我想排除一个现有文件。 仅修改。gitignore无效。 我是这样做的:
git rm --cached dirToFile/file.php
vim .gitignore
git commit -a
通过这种方式,我从缓存中清除了我想要排除的文件,并将其添加到.gitignore。
添加.gitignore文件并提交后,它将不再显示在“未跟踪文件”列表中。
git add .gitignore
git commit -m "add .gitignore file"
git status
当然,.gitignore文件会显示在状态中,因为它是未跟踪的,git将它视为一个美味的新文件!
然而,由于.gitignore是一个未跟踪的文件,当你把它放在.gitignore中时,它是一个被git忽略的候选文件!
所以,答案很简单:只需添加一行:
.gitignore # Ignore the hand that feeds!
到你的。gitignore文件!
而且,与August的回答相反,我应该说.gitignore文件不应该在您的存储库中。它只是碰巧可以,这通常是方便的。这可能就是.gitignore被创建为.git/info/exclude的替代品的原因,后者没有被存储库跟踪的选项。无论如何,如何使用.gitignore文件完全取决于您。
作为参考,请查看kernel.org上的gitignore(5) manpage。
以防别人和我们有同样的痛苦。 我们想要排除一个已经提交的文件。
这篇文章更有用: 使用.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行。
最终用户很可能希望Git忽略”。gitignore”文件,因为Eclipse创建的IDE特定文件夹可能与NetBeans或其他IDE不同。因此,为了保持源代码与IDE的对立性,很容易忽略一个自定义git,因为每个开发人员可能使用不同的IDE,而不与整个团队共享。