.gitignore 整个目录名称中有空格
.gitignore entire directory with whitespace in name
目标
试图忽略 "Assets" 文件夹下令人讨厌的名称 "TextMesh Pro" 目录(.gitignore 所在的根目录的完整路径是 "Sky Labyrinth\Assets\Text Mesh Pro\")。
已尝试
我遵循了 3 个线程 (one, two, three) 中的建议,但没有成功。
在我尝试的实际 .gitignore 文件中:
TextMesh Pro/
TextMesh\ Pro/
**/TextMesh Pro/
**/TextMesh\ Pro/
\Assets\TextMesh Pro\
\Assets\TextMesh/ Pro\
**\Assets\TextMesh Pro\
**\Assets\TextMesh/ Pro\
"\TextMesh Pro\"
"**\TextMesh Pro\"
还有一堆我没想到的其他组合(确实没用)。
排除
文件未缓存,我从未从该目录提交任何内容。只是为了确定,我 运行:
git rm -r --cached "Sky Labyrinth\Assets\Text Mesh Pro\"
没有任何匹配项。为了加倍确定,我 运行
git reset --hard
并重新导入资产。我想有一个小警告,我确实提交了一个 .Unity 场景更改,里面有一些 TextMesh Pro 游戏对象;尽管我缺乏专业 Git 知识,但我很确定 Assets\TextMesh Pro\ 目录中的内容不会神奇地被缓存或以某种方式无法忽略。
哈尔普
关于如何正确忽略名称中包含空格的整个子目录的任何想法?我不需要忽略其中的特定文件,我希望忽略整个文件。我知道作为一种解决方法,我可以:
手动删除目录名称中的空格 - 但每次更新插件时我都必须重复此操作
在 \TextMesh Pro\ 目录中创建另一个 .gitignore 忽略里面的所有内容
/*
这将是我最后的选择,因为这是我唯一要做的事情。但是,我更愿意了解如何正确处理目录名称中的空格,或者了解如果是这种情况根本不可能。
看来您错过了Text和Mesh之间的空格之一。
尝试添加
Assets/Text\ Mesh\ Pro/
到你的 .gitignore
正确答案是:
TextMesh*Pro/
**/TestMesh Pro/
应该也可以
添加到
Sky Labyrinth\Assets\.gitignore
/TextMesh\ Pro/
“试图忽略名称令人讨厌的“TextMesh Pro”目录”
/
匹配文字路径,而不是模式
使用 \
-> \
转义
“在“资产”文件夹下”
- 将
.gitignore
放入 Assests
如果有问题的文件在您的 git 存储库中,您需要删除它们并在 .gitignore 生效之前推送更改。
目标
试图忽略 "Assets" 文件夹下令人讨厌的名称 "TextMesh Pro" 目录(.gitignore 所在的根目录的完整路径是 "Sky Labyrinth\Assets\Text Mesh Pro\")。
已尝试
我遵循了 3 个线程 (one, two, three) 中的建议,但没有成功。
在我尝试的实际 .gitignore 文件中:
TextMesh Pro/
TextMesh\ Pro/
**/TextMesh Pro/
**/TextMesh\ Pro/
\Assets\TextMesh Pro\
\Assets\TextMesh/ Pro\
**\Assets\TextMesh Pro\
**\Assets\TextMesh/ Pro\
"\TextMesh Pro\"
"**\TextMesh Pro\"
还有一堆我没想到的其他组合(确实没用)。
排除
文件未缓存,我从未从该目录提交任何内容。只是为了确定,我 运行:
git rm -r --cached "Sky Labyrinth\Assets\Text Mesh Pro\"
没有任何匹配项。为了加倍确定,我 运行
git reset --hard
并重新导入资产。我想有一个小警告,我确实提交了一个 .Unity 场景更改,里面有一些 TextMesh Pro 游戏对象;尽管我缺乏专业 Git 知识,但我很确定 Assets\TextMesh Pro\ 目录中的内容不会神奇地被缓存或以某种方式无法忽略。
哈尔普
关于如何正确忽略名称中包含空格的整个子目录的任何想法?我不需要忽略其中的特定文件,我希望忽略整个文件。我知道作为一种解决方法,我可以:
手动删除目录名称中的空格 - 但每次更新插件时我都必须重复此操作
在 \TextMesh Pro\ 目录中创建另一个 .gitignore 忽略里面的所有内容
/*
这将是我最后的选择,因为这是我唯一要做的事情。但是,我更愿意了解如何正确处理目录名称中的空格,或者了解如果是这种情况根本不可能。
看来您错过了Text和Mesh之间的空格之一。 尝试添加
Assets/Text\ Mesh\ Pro/
到你的 .gitignore
正确答案是:
TextMesh*Pro/
**/TestMesh Pro/
应该也可以
添加到
Sky Labyrinth\Assets\.gitignore
/TextMesh\ Pro/
“试图忽略名称令人讨厌的“TextMesh Pro”目录”
/
匹配文字路径,而不是模式
\
->\
转义
“在“资产”文件夹下”
- 将
.gitignore
放入Assests
如果有问题的文件在您的 git 存储库中,您需要删除它们并在 .gitignore 生效之前推送更改。