gitignore不忽略文件夹

fkvaft9z  于 2022-11-20  发布在  Git
关注(0)|答案(7)|浏览(215)

在我的项目的根目录下,我有一个foo文件夹。在foo文件夹中,我有一个bar文件夹。我想忽略对bar文件夹中所有文件的所有更改。我在gitignore中有以下文件:

/foo/bar

选中文件夹:gitignorecommit ted.但是,我有一个文件,我做了一个修改,并在我的bar文件夹中.当我键入

git status

在我的git bash中,我看到了应该被忽略的文件。可能的原因是什么?我如何才能成功地忽略我的bar文件夹中的所有文件?
请注意,以前忽略了同一行的文件,但我不得不临时将该行移到服务器上的commit中。在commit之后,我将该行放回到gitignore中。这是一段时间以前的事了。但是现在我已经观察到这些文件将在git status中。我希望能够修改被忽略的文件,而不使它们出现在git status中。

tpgth1q7

tpgth1q71#

我猜这个文件夹之前已经被签入到git中了吧?
运行git rm -r --cached <folder>并再次检查。

polhcujo

polhcujo2#

对我来说,被接受的答案是解决方案的一部分,而不是整个解决方案。也许,我即将发布的其他步骤是显而易见的,但我首先错过了它们。以下是我采取的步骤,以确保我的.gitignore文件忽略了我希望它忽略的文件夹:
1.提交需要修复/更改的任何更改。
1.执行此指令:git rm -r --cached .(删除git索引中的所有内容,以便刷新git仓库)
1.然后运行以下命令:git add .(将所有内容添加回存储库)
1.最后,使用git commit -m ".gitignore Fixed"提交这些更改
您可以找到我找到here解决方案的文章的链接。

3df52oht

3df52oht3#

这解决了它
我已经做了echo node_modules >> .gitignore,它没有工作。
windows终端将文件保存在UCS-2 LE BOM中,git似乎不接受。
我使用Notepad打开文件,并使用UTF-8编码保存

现在就可以了

我认为他们需要解决这个问题,因为echo "filetoignore" >> .gitignore实际上似乎是一件方便的事情

7dl7o3gd

7dl7o3gd4#

我遇到了这个问题,我意识到git实际上是正确地忽略了文件/文件夹,但我的代码编辑器(Visual Studio Code)只是有缺陷,没有在UI侧边栏中正确地将它们“变灰”。我重新启动VSCode,它们就像预期的那样变灰了。

qyyhg6bp

qyyhg6bp5#

作为accepted answer的补充

git rm -r --cached /foo/bar/
git status

当我这样做的时候,终端会显示一串rm来表示这个目录中的文件。所以为了防止另一个可能不必要地影响远程的提交,我我这样做了:

git reset HEAD *
git status

在那之后,它没有说什么要提交,当我修改/foo/bar/内的文件并执行git status时,我仍然得到nothing to commit

s71maibg

s71maibg6#

我在powershell中使用echo "build" > .gitignore创建了.gitignore。这创建了一个UTF-16 LE编码的文件。Git无法识别该文件的内容,并继续将build文件夹显示为untracked。我删除了该文件,并在geany文本编辑器中重新创建了它(UTF-8),git现在忽略了build文件夹。一个简短的搜索会再次确认该git不喜欢UTF-16。

cygmwpex

cygmwpex7#

大多数情况下,这是一个编码问题。所以你可以删除.gitignore文件,然后重新创建它。

相关问题