Git 仍然添加和跟踪在 .gitignore 中标记的文件夹

标签 git gitignore

<分区>

我在“.gitignore”文件中添加了一些 Git 文件夹。它们包含超过 100k 个文件。主要是图像、tmp 和缓存的东西。我需要的是能够提交对我的代码的更改,而不提交那些文件夹中发生的事情。

我认为将它们添加到“.gitignore”中可以解决问题,但由于某种原因它根本不起作用。几天来我无法向 repo 提交任何内容,因为每次我尝试推送命令时,它都会尝试发送 10 万个文件,然后它会卡住并超时。

root@serveur [/home/***/***]# git push origin master
Password:
Counting objects: 110300, done.

如何强制 Git 在考虑被忽略的文件夹的同时重新索引树,以便我最终可以提交我对代码所做的所有更改?

最佳答案

它不起作用的原因(可能)是因为你在添加 .gitignore 之前添加了其中一些文件 - 所以你必须先从 git 中删除它们才能忽略。

来源:https://stackoverflow.com/a/1139797/2128691

首先,提交所有未完成的代码更改,然后运行此命令:

git rm -r --cached .

这会从 index 中删除所有内容,然后运行:

git add .

提交:

git commit -m ".gitignore is now working"

关于Git 仍然添加和跟踪在 .gitignore 中标记的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418718/

相关文章:

Git: "git pull"到底做了什么?

git - 如何只忽略一个没有扩展名的文件?

node.js - gitignore 所有node_modules 目录和子目录

git 忽略目录 "build"及其所有内容,但不包括 "build.xml"

git - .gitignore 适用于除 Jenkins 作业配置文件之外的所有文件

git - 使用 GIT 分支/分支

git - 使现有的 Git 分支跟踪远程分支?

git - 从上游 github 存储库获取失败挂断

android - Gitignore 不会忽略文件夹 android,react native

git 无法在 azure devops 管道中使用 ssh 克隆子模块