Git克隆忽略.gitignore文件

问题描述

我的问题是,当我尝试在终端上执行以下命令时:

git clone https://github.com/DheltaHalo/test.git

它还克隆了应该被 .gitignore 忽略的文件

我读过,例如,如果我在我的 .gitignore 文件中写入 *.txt,它应该忽略所有 .txt 文件,但是当我将它克隆到我的桌面时,它会将这些文件下载为嗯。

解决方法

仅在添加(暂存)尚未暂存的文件时才考虑 .gitignoregit add -f 除外)。

克隆过程忽略了 .gitignore 文件。

如果添加、提交文件并创建另一个带有 .gitignore 的提交,该文件仍将是存储库的一部分,因此会被克隆。

,

.gitignore 仅用于忽略尚未跟踪的文件。如果您的文件已经在您的存储库中,那么它现在是历史的一部分,在此阶段没有必要忽略它们,否则您的修订检查将不完整。

请注意,如果您将一些已跟踪的文件添加到 .gitignore 并更改它们,它也不会以其他方式工作。 Git 不会关心新文件,但它仍然会跟踪已经记录的文件。如果这是您想要执行的操作,则必须执行仅适用于索引的“删除”(文件删除),而不涉及工作目录。这可以通过以下方式完成:git rm --cached [file]

,

.gitignore 适用于 文件,但如果您在 .gitignore 文件中添加一些行时已经跟踪了文件, git 仍会跟踪这些文件:
您会在修改它们时看到它们被列出,它们将被推、拉,并且在您克隆您的存储库时它们仍然会出现。

如果你想让git“忘记”这些文件,你需要运行一些额外的步骤:参见示例

How to make Git "forget" about a file that was tracked but is now in .gitignore?