我在.gitignore中添加了以下一行:
sites/default/settings.php
但是当我输入git状态时,它显示文件为unstaging文件。
有什么问题吗?所有其他模式都很好。
我在.gitignore中添加了以下一行:
sites/default/settings.php
但是当我输入git状态时,它显示文件为unstaging文件。
有什么问题吗?所有其他模式都很好。
当前回答
我也有同样的问题。 在.gitingore中定义的文件在运行git状态时被列为未跟踪文件。
这是因为.gitignore文件是用UTF-16LE编码保存的,而不是UTF8编码。
在将.gitignore文件的编码更改为UTF8之后,它就工作了。
其他回答
另一个可能的原因是同时运行了几个git客户端实例。例如“git shell”+“GitHub Desktop”等。
这发生在我身上,我使用“GitHub Desktop”作为主要客户端,它忽略了一些新的。gitignore设置:
你做出了承诺。 接下来,提交:它忽略.gitignore设置。提交包含了.gitignore中提到的大量临时文件。 清除git缓存;检查.gitignore是否是UTF8;删除文件->提交->移动文件回来;跳过承诺——没有任何帮助。
原因:Visual Studio Code编辑器在后台使用相同的已打开存储库运行。VS Code有内置的git控件,这会产生一些冲突。
解决方案:仔细检查多个隐藏的git客户端,一次只使用一个git客户端,特别是在清理git缓存时。
有一件事我认为在这里的优秀答案中被忽略了,那就是另一个。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文件。找出适用的规则。
我也有同样的问题。 在.gitingore中定义的文件在运行git状态时被列为未跟踪文件。
这是因为.gitignore文件是用UTF-16LE编码保存的,而不是UTF8编码。
在将.gitignore文件的编码更改为UTF8之后,它就工作了。
一个棘手的问题是,如果你执行类似echo node_modules >> .gitignore这样的操作,它将不起作用。windows终端在UCS-2 LE BOM中保存文件,git似乎不接受这一点。
您可以使用记事本打开文件,并使用UTF-8编码保存它
现在起作用了。
我认为他们需要修复这个,因为echo "filetoignore" >> .gitignore实际上似乎是一个方便的事情要做
请使用此命令
git rm -rf --cached .
git add .
有时.gitignore文件即使是正确的也不能工作。Git忽略文件的原因是它们没有被添加到存储库中。如果您之前添加了一个想要忽略的文件,Git将跟踪它,并且将跳过任何跳过的匹配规则。Git这样做是因为该文件已经是存储库的一部分。