无法将文件夹添加到 gitignore 文件 [重复]

Posted

技术标签:

【中文标题】无法将文件夹添加到 gitignore 文件 [重复]【英文标题】:cannot add folder to gitignore file [duplicate] 【发布时间】:2013-09-03 14:12:11 【问题描述】:

我的.gitignore 文件如下:

$ cat .gitignore
Index/
Index/LOG

我添加了.gitignore 文件来回购、提交甚至推送。但是git status 永久显示:

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   Index/LOG
#

那么如何永远从 git 存储库中排除整个 Index 文件夹?

【问题讨论】:

如果添加了Index/LOG,则应将其删除。 【参考方案1】:

Git 不会忽略跟踪的文件。您需要从存储库中删除该文件,然后它才会被忽略:

$ git rm -r Index
$ git commit -m "Deleting 'Index' folder."

这将删除文件。如果您只想从索引中删除它们,请使用 --cached:

$ git rm -r --cached Index

这会将所有文件保留在文件系统中,并且只会从 git 中删除它们。

【讨论】:

【参考方案2】:

要排除 Index 文件夹,请将其删除并提交更改。概述如下:

How to remove a directory in my GitHub repository?

就是这么简单。如果你只想更新索引告诉 git 即使它改变了也没有改变,使用update-index commmand:

https://***.com/a/11366713/367456

【讨论】:

以上是关于无法将文件夹添加到 gitignore 文件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

.gitignore不起作用/无效,.idea文件夹无法删除

我应该将 Laravel 供应商目录添加到 .gitignore 吗?

Git - .gitignore怎么忽略已经被版本控制的文件

添加到 .gitignore 后,git 仍将文件显示为已修改

xml .gitignore将阻止未跟踪文件被添加(没有添加-f)到git跟踪的文件集,但git将继续

将 .env 文件添加到 gitignore 后,Django 弹性 beanstalk CLI 部署失败