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

sites/default/settings.php

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

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


当前回答

我刚刚尝试了git 1.7.3.1,并给出了这样的结构:

repo/.git/
repo/.gitignore
repo/sites/default/settings.php

其中repo因此是上面提到的“根”(我将它称为你的工作树的根),而.gitignore只包含sites/default/settings.php,忽略为我工作(无论.gitignore是否被添加到repo)。这与你的回购布局匹配吗?如果不是,有什么不同?

其他回答

我所做的是成功忽略settings.php文件:

Git rm—cached sites/default/settings.php 提交(到此为止没有工作) 手动删除sites/default/settings.php(这是有效的) Git添加。 提交(成功忽略)

我认为如果Git上有提交文件,那么忽略就不能正常工作。只需删除文件并提交。之后它会忽略。

我刚刚尝试了git 1.7.3.1,并给出了这样的结构:

repo/.git/
repo/.gitignore
repo/sites/default/settings.php

其中repo因此是上面提到的“根”(我将它称为你的工作树的根),而.gitignore只包含sites/default/settings.php,忽略为我工作(无论.gitignore是否被添加到repo)。这与你的回购布局匹配吗?如果不是,有什么不同?

请使用此命令

git rm -rf --cached .
git add .

有时.gitignore文件即使是正确的也不能工作。Git忽略文件的原因是它们没有被添加到存储库中。如果您之前添加了一个想要忽略的文件,Git将跟踪它,并且将跳过任何跳过的匹配规则。Git这样做是因为该文件已经是存储库的一部分。

另一个可能的原因是同时运行了几个git客户端实例。例如“git shell”+“GitHub Desktop”等。


这发生在我身上,我使用“GitHub Desktop”作为主要客户端,它忽略了一些新的。gitignore设置:

你做出了承诺。 接下来,提交:它忽略.gitignore设置。提交包含了.gitignore中提到的大量临时文件。 清除git缓存;检查.gitignore是否是UTF8;删除文件->提交->移动文件回来;跳过承诺——没有任何帮助。

原因:Visual Studio Code编辑器在后台使用相同的已打开存储库运行。VS Code有内置的git控件,这会产生一些冲突。

解决方案:仔细检查多个隐藏的git客户端,一次只使用一个git客户端,特别是在清理git缓存时。

我也有同样的问题。在Win10上,我使用Geany编辑器,它使用UNIX行尾。现在我用notepad.exe创建了我的.gitignore,一切都很好。