具有多个统一项目的父文件夹的单个 .gitignore

Single .gitignore for parent folder with multiple unity projects

我的 unity 项目父文件夹有以下 .gitignore,其中有多个 unity 游戏文件夹。我也尝试过使用 git rm --cached 但它似乎并没有停止对库文件夹的跟踪。文件夹结构如下,其中Car Racing、Hat trick等都是独立的unity游戏文件夹。

[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
Assets/AssetStoreTools*

# Visual Studio 2015 cache directory
/.vs/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb

# Unity3D generated meta files
*.pidb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

# Data generated by Visage tracking
*EMOTION*.txt
/*/*-*-*-*-*-*-*.txt

确保那些 "independent unity game folders" 没有自己的 .git 子文件夹:这将使它们嵌套 Git 在您的主要父仓库中的仓库,以及您的主要 .gitignore 文件将在那些子仓库中被忽略。

您还可以确保文件仍然不会被忽略:

git check-ignore -v -- a/path/to/file

话虽如此,仅 git rm --cached 是不够的。

作为OP vipin8169 points out (and this answer),这样比较好:

 git ls-files --ignored --exclude-standard -z | \
    xargs -0 git rm --cached
 git commit -am "Remove ignored files