请看下图。我的.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文件,并提及我们想要忽略的文件。 如果你想忽略一些文件,那么执行git rm -r——cached
如果你使用VS Code:
检查.gitignore文件的编码类型。如果不是,请将其更改为UTF-8。 选择“使用编码重新打开”选项以更改文件编码。
这对我很管用!
对于我的项目中的一些文件,我需要使用git过滤器分支,这在这个答案中得到了更好的解释。
遵循这些步骤来工作gitignore
在.gitignore文件中进行更改。 执行命令git rm -r——cached。命令。 运行git add。命令 git commit -m“提交信息”
你可以用这个,
git rm -r --cached ./node_modules
例如,如果您想忽略node_modules
推荐文章
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 在VS Code中禁用“Comments are not allowed In JSON”错误
- 使用正则表达式搜索和替换Visual Studio代码
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 如何缩进/格式选择的代码在Visual Studio代码?
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?