📌  相关文章
📜  git 不会忽略 gitignore 中的文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:19.035000             🧑  作者: Mango

Git 不会忽略 gitignore 中的文件 - Shell-Bash

如果你经常使用 Git,你就会知道 .gitignore 文件的作用。.gitignore 是一种文件,其中包含许多文件或文件类型,这些文件或文件类型应该被 Git 忽略。例如,通常为了避免将日志文件或编译后的二进制文件添加到仓库中,你可以通过 .gitignore 文件指定这些文件。

然而,有时候你添加到 .gitignore 文件中的文件仍会出现在你的仓库中。这可能会导致一些问题。那么,为什么会发生这种情况呢?

原因是 Git 并不会自动忽略已经存在于仓库中的文件。.gitignore 指定的只是对之后的文件的影响,而不影响已经被 Git 跟踪的文件。因此,如果你希望忽略某个已经存在于仓库中的文件,你需要通过一些命令告诉 Git 将其删除。

以下是一些命令可以帮助你将已经被 Git 跟踪的文件忽略:

移除已经跟踪的文件

如果你想忽略某个已经存在于仓库中的文件,你需要先将其从 Git 中移除。以下命令可以将文件从 Git 中移除:

git rm --cached file.txt

这个命令会将 file.txt 文件从 Git 中移除,但是并不会删除本地文件。而且使用 --cached 选项可以保留本地文件,不会将其从硬盘上删除。

将文件添加到 .gitignore

现在你已经将文件从 Git 中移除,但是它仍然存在于本地硬盘上,而我们可以通过将其添加到 .gitignore 文件中来被 Git 忽略。以下是一个简单的例子:

echo "file.txt" >> .gitignore

这条命令会将 file.txt 添加到 .gitignore 文件中,Git 就会忽略这个文件了。

提交更改

现在我们已经将文件从 Git 中移除并将其添加到 .gitignore 文件中,我们可以像往常一样提交更改了。

git add .gitignore
git commit -m "ignore file.txt"

现在,Git 就会忽略 file.txt 文件了。

总结

在本文中,我们讨论了 Git 不会忽略 .gitignore 文件中已经存在于仓库中的文件的原因,并提供了一些命令来解决这个问题。希望这篇文章对你有所帮助。