请看下图。我的.gitignore文件应该忽略src/dist中的所有文件,但不是。
.gitignore只忽略还不是存储库一部分的文件。如果你已经添加了一些文件,他们的变化仍然会被跟踪。 要从存储库(但不是从文件系统)中删除这些文件,请使用缓存在这些文件上的git rm。
Gitignore只忽略未跟踪的文件。你的文件被标记为已修改——这意味着它们是过去提交的,git现在会跟踪它们。
要忽略它们,首先需要删除它们,git rm它们,提交它们,然后忽略它们。
gitignore文件确保Git没有跟踪的文件保持不被跟踪。
只是将文件夹/文件添加到.gitignore文件中不会取消对它们的跟踪——Git将继续跟踪它们。
要取消跟踪文件,必须从存储库中删除.gitignore文件中列出的跟踪文件。然后重新添加它们并提交更改。
要做到这一点,最简单、最彻底的方法是删除并缓存存储库中的所有文件,然后将它们全部添加回来。gitignore文件中列出的所有文件夹/文件将不会被跟踪。在存储库的顶部文件夹中运行以下命令:
git rm -r --cached .
git add .
然后提交您的更改:
git commit -m "Untrack files in .gitignore"
请注意,以前提交的不需要的文件将保留在提交历史记录中。当推送到GitHub时,要注意提交历史可能包含.env或client_secret。json文件。
最佳实践是创建一个.gitignore文件,并填充您在启动项目时不希望跟踪的文件夹/文件。然而,在意识到不需要的文件正在被跟踪和存储之后,通常有必要添加到.gitignore文件中。
看看这个。gitignore坏了 尤其是ADTC的评论:
确保你的.gitignore文件使用ANSI或UTF-8编码。如果它使用 比如Unicode BOM, Git可能无法读取 文件。- ADTC 12月14日'17 12:39
我也遇到了同样的问题,然后我意识到我没有正确地创建.gitignore文件。
在我的例子中,出于某种原因,我创建了一个.gitignore.txt文件。Git仍然会跟踪.gitignore文件中的文件,即使你删除了“。txt”。扩展并保存它。
尝试删除旧文件并在终端中通过“触摸。gitignore”创建一个新的。gitignore文件,这为我解决了这个问题。
遵循这些步骤来工作gitignore
在.gitignore文件中进行更改。 执行命令git rm -r——cached。命令。 运行git add。命令 git commit -m“提交信息”
如果你使用VS Code:
检查.gitignore文件的编码类型。如果不是,请将其更改为UTF-8。 选择“使用编码重新打开”选项以更改文件编码。
这对我很管用!
如果你的。Gitignore文件不会忽略您的文件和目录。
.gitignore只是忽略尚未添加到存储库的文件。如果你已经添加了某些文件,他们的修改将被跟踪。使用缓存在这些文件上的git rm -r——从存储库中删除它们(但不能从文件系统中删除)。
git rm -r --cached . #untrack files
git add . #re-adding the files
git commit -m "issue fixed" #commiting changes
git push #pushing changes
推荐文章
- 如何点Go模块的依赖在Go。Mod到回购中的最新提交?
- VSCode单引号到双引号自动替换
- 如何删除Visual Studio代码中的重复行?
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔