我在.gitignore中添加了以下一行:

sites/default/settings.php

但是当我输入git状态时,它显示文件为unstaging文件。

有什么问题吗?所有其他模式都很好。


当前回答

一个棘手的问题是,如果你执行类似echo node_modules >> .gitignore这样的操作,它将不起作用。windows终端在UCS-2 LE BOM中保存文件,git似乎不接受这一点。

您可以使用记事本打开文件,并使用UTF-8编码保存它

现在起作用了。

我认为他们需要修复这个,因为echo "filetoignore" >> .gitignore实际上似乎是一个方便的事情要做

其他回答

确保.gitignore没有扩展名!!它不能是。gitignore。txt,在windows中只是命名为。gitignore。它会起作用的。

有一件事我认为在这里的优秀答案中被忽略了,那就是另一个。gitignore或多个。

在某种情况下,我克隆了一个repo,不知道为什么在运行git add时再次添加了一个“被忽略”的文件。结果是在子文件夹中有另一个.gitignore,并且覆盖了根文件夹中的文件。

/.gitignore
/some-folder/.gitignore
/some-folder/this-file-keeps-getting-staged

The

根 /.gitignore

忽略这个文件一直在上演吗

The

一些文件/ .gitignore

没有规范来忽略“this-file-keeps-getting- staging”文件。

这就是问题所在。

其中一种方法是在层次结构中搜索多个.gitignore文件。找出适用的规则。

我遇到了这个问题,这是一个老问题了,但是我想要跟踪那个文件但不是在某些工作副本上跟踪它,你可以这样做

git update-index --assume-unchanged sites/default/settings.php

一个棘手的问题是,如果你执行类似echo node_modules >> .gitignore这样的操作,它将不起作用。windows终端在UCS-2 LE BOM中保存文件,git似乎不接受这一点。

您可以使用记事本打开文件,并使用UTF-8编码保存它

现在起作用了。

我认为他们需要修复这个,因为echo "filetoignore" >> .gitignore实际上似乎是一个方便的事情要做

.gitignore将只忽略你还没有添加到存储库的文件。

如果你做了git add .,文件被添加到索引中,.gitignore不会帮助你。你需要执行git rm sites/default/settings.php来删除它,然后它就会被忽略。