请看下图。我的.gitignore文件应该忽略src/dist中的所有文件,但不是。
当前回答
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
在.gitignore文件中进行更改。 执行命令git rm -r——cached。命令。 运行git add。命令 git commit -m“提交信息”
看看这个。gitignore坏了 尤其是ADTC的评论:
确保你的.gitignore文件使用ANSI或UTF-8编码。如果它使用 比如Unicode BOM, Git可能无法读取 文件。- ADTC 12月14日'17 12:39
对于我的项目中的一些文件,我需要使用git过滤器分支,这在这个答案中得到了更好的解释。
如果你使用VS Code:
检查.gitignore文件的编码类型。如果不是,请将其更改为UTF-8。 选择“使用编码重新打开”选项以更改文件编码。
这对我很管用!
你可以用这个,
git rm -r --cached ./node_modules
例如,如果您想忽略node_modules
推荐文章
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- 如何在Visual Studio代码中重置设置?
- Git拉另一个分支
- 如何将制表符转换为空格,反之亦然,在现有的文件
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式