我有一个文件夹,里面存放着我所有不同的游戏,每个游戏都有自己的"Assets", "Library", "Logs"
等文件夹。
以前,当我只想上传一个项目到GitHub时,我选择了.gitignore
Unity,它自动忽略了那些不需要上传的巨大文件。
现在,我在一个文件夹中有多个项目,我想把它们全部上传到一个存储库中,而且,我想让我的.gitignore
忽略每个目录中所有不必要的文件,就像过去只为一个Unity游戏做的那样。
我的。gitigonore
现在是这样的:
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
Assets/AssetStoreTools*
# Visual Studio cache directory .vs/
# Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
# Unity3D Generated File On Crash Reports sysinfo.txt
# Builds
*.apk
*.unitypackage
为了实现我想要实现的目标,我应该改变什么?
顺便说一句,我刚接触git,我很确定我的问题有一个非常简单的答案。
但是我在网上找不到它!
选项A-子模块
您可以查看子模块,并拥有一个类似的存储库
- 主存储库
- 应用程序1-子模块
- 应用程序2-子模块
每个子模块都会带来自己的.gitignore
,该CCD_5应用于相应的根文件夹。
如果你有一个主应用程序,然后有多个实际的功能模块,你都在这个主应用程序中使用,这是最有意义的。
选项B-**
路径通配符
只需调整.gitignore
以忽略任何具有类似的名称的文件夹
**/[Ll]ibrary/
**/[Tt]emp/
**/[Oo]bj/
**/[Bb]uild/
**/[Bb]uilds/
**/Assets/AssetStoreTools*
参见.gitignore
文档
与完整路径名匹配的模式中的两个连续星号(
"**"
(可能具有特殊含义:
- 前导
"**"
后跟斜线表示所有目录中匹配。例如,"**/foo"
在任何位置匹配文件或目录"foo"
,与模式"foo"
相同。CCD_ 14与文件或目录CCD_
如果您正在处理一个更大的项目,而该项目实际上只包括完全独立的不同Unity项目,那么这是最有意义的。
不过要小心:如果你现在有一个像Assets/Models/Obj/...
这样的文件夹,这个文件夹将被忽略;(
为了避免这种情况,如果文件夹位于Assets
文件夹(如(中,则可以再次不忽略文件夹
!**/Assets/**/[Ll]ibrary/
!**/Assets/**/[Tt]emp/
!**/Assets/**/[Oo]bj/
!**/Assets/**/[Bb]uild/
!**/Assets/**/[Bb]uilds/