gpt4 book ai didi

ios - 如何版本控制重叠的文件夹结构?

转载 作者:行者123 更新时间:2023-11-29 00:18:48 26 4
gpt4 key购买 nike

多年来一直在思考这个问题,对任何建议都很感兴趣。

简单的 Unity 游戏项目如下所示,在 Root 下有一个 Git 存储库。

Root
├─Assets
│ └─Game files
└─Project files

随着时间的推移,我开发了大量插件,结果结构将如下所示。

Root
├─Assets
│ ├─Plugins
│ │ ├─Plugin_A
│ │ ├─Plugin_B
│ │ ├─Plugin_C
│ │ └─Plugin_D
│ └─Game files
├─iOS Plugin projects
│ └─Plugin_C project
├─Anroid Plugin projects
│ └─Plugin_D project
└─Project files

现在我真的想让插件拥有自己的版本控制(这样我就可以继续“从”任何游戏项目中开发它们),同时保留每个插件的相关项目位置。

重点是:在同一个 (!) 子存储库 中有多个 (!) 子文件夹。就像在单个(!)子存储库中拥有 Assets/Plugins/Plugin_DAnroid Plugin projects/Plugin_D project 一样。然后使用 Plugin_C 等完成剩下的工作。

如果每个插件的存储库位于根目录(保留它们的子文件夹位置),那就太好了。

Root
└─Assets
└─Plugins
└─Plugin_A

但重点是在同一个(!)插件存储库中有重叠的文件夹。就像有一个存储库,包含 native 插件 (Assets/Plugins/Plugin_C) 和 (!) 包含它们各自重叠的插件项目 (iOS Plugin projects/Plugin_C project)。对于 iOS,就像这样:

Root
├─Assets
│ └─Plugins
│ └─Plugin_C
└─iOS Plugin projects
└─Plugin_C project

对于 Android:

Root
├─Assets
│ └─Plugins
│ └─Plugin_D
└─Anroid Plugin projects
└─Plugin_D project

我试图让它们成为项目根目录的所有子模块(忽略除插件文件夹之外的所有内容),但我无法将多个子模块创建到单个Root 文件夹中.

作为奖励,如果将所有插件都放在一个存储库中会很棒,这样我就可以轻松引导任何项目,然后有选择地添加/删除模块。


到目前为止,我所做的是让每个文件夹成为本地的子模块,但这种方式的项目设置过程非常乏味/容易出错,而且我无法使用各自的托管对应项对 native 插件项目进行版本控制。

真的对任何建议感兴趣。

最佳答案

是的,您可以在单独的存储库中管理插件 A 到 D。但如果这四个插件相关,您最好在四个分支的存储库中管理它们。

然后您可以使用git subtree为您想要应用于项目的子文件夹添加插件。

比如如果你想在Assets/Plugins中添加Plugin_C,可以使用:

git subtree add --prefix=Assets/Plugins/Plugin_C <URL for pluginC repo> master

如果你想将plugin_D添加到Android/,你可以使用:

git subtree add --prefix=Android/Plugin_D <URL for pluginD repo> master

关于ios - 如何版本控制重叠的文件夹结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com