在我的项目的根目录下,我有一个foo
文件夹。在foo
文件夹中,我有一个bar
文件夹。我想忽略对bar
文件夹中所有文件的所有更改。我在gitignore
中有以下文件:
/foo/bar
选中文件夹:gitignore
是commit
ted.但是,我有一个文件,我做了一个修改,并在我的bar
文件夹中.当我键入
git status
在我的git bash
中,我看到了应该被忽略的文件。可能的原因是什么?我如何才能成功地忽略我的bar文件夹中的所有文件?
请注意,以前忽略了同一行的文件,但我不得不临时将该行移到服务器上的commit
中。在commit
之后,我将该行放回到gitignore
中。这是一段时间以前的事了。但是现在我已经观察到这些文件将在git status
中。我希望能够修改被忽略的文件,而不使它们出现在git status
中。
7条答案
按热度按时间tpgth1q71#
我猜这个文件夹之前已经被签入到git中了吧?
运行
git rm -r --cached <folder>
并再次检查。polhcujo2#
对我来说,被接受的答案是解决方案的一部分,而不是整个解决方案。也许,我即将发布的其他步骤是显而易见的,但我首先错过了它们。以下是我采取的步骤,以确保我的
.gitignore
文件忽略了我希望它忽略的文件夹:1.提交需要修复/更改的任何更改。
1.执行此指令:
git rm -r --cached .
(删除git索引中的所有内容,以便刷新git仓库)1.然后运行以下命令:
git add .
(将所有内容添加回存储库)1.最后,使用
git commit -m ".gitignore Fixed"
提交这些更改您可以找到我找到here解决方案的文章的链接。
3df52oht3#
这解决了它
我已经做了
echo node_modules >> .gitignore
,它没有工作。windows终端将文件保存在
UCS-2 LE BOM
中,git似乎不接受。我使用
Notepad
打开文件,并使用UTF-8
编码保存现在就可以了
我认为他们需要解决这个问题,因为
echo "filetoignore" >> .gitignore
实际上似乎是一件方便的事情7dl7o3gd4#
我遇到了这个问题,我意识到git实际上是正确地忽略了文件/文件夹,但我的代码编辑器(Visual Studio Code)只是有缺陷,没有在UI侧边栏中正确地将它们“变灰”。我重新启动VSCode,它们就像预期的那样变灰了。
qyyhg6bp5#
作为accepted answer的补充
当我这样做的时候,终端会显示一串
rm
来表示这个目录中的文件。所以为了防止另一个可能不必要地影响远程的提交,我我这样做了:在那之后,它没有说什么要提交,当我修改
/foo/bar/
内的文件并执行git status
时,我仍然得到nothing to commit
。s71maibg6#
我在powershell中使用
echo "build" > .gitignore
创建了.gitignore。这创建了一个UTF-16 LE编码的文件。Git无法识别该文件的内容,并继续将build
文件夹显示为untracked。我删除了该文件,并在geany文本编辑器中重新创建了它(UTF-8),git现在忽略了build
文件夹。一个简短的搜索会再次确认该git不喜欢UTF-16。cygmwpex7#
大多数情况下,这是一个编码问题。所以你可以删除.gitignore文件,然后重新创建它。