gpt4 book ai didi

git - 如何使用 git 存储库跨项目组织共享代码/ Assets

转载 作者:太空狗 更新时间:2023-10-29 13:03:42 25 4
gpt4 key购买 nike

我有一个场景,其中基础项目由 java 代码和网站文件(jsp/html/javascript、模板、css、图像等)组成。

此基础项目的变体是出于以下原因创建的:

a) 白标+定制

b) 基于这个项目的一个新项目,但有额外的特性(在 java 和 web 文件中)

基础项目
java

  • 来源/核心

网页

  • 模板

  • CSS

  • javascript

  • 图片

项目A(基于基地)
java

  • 源/核心

  • src/projectA 特定文件夹

网页

  • 模板

  • CSS

  • javascript

  • 图片

  • projectA 特定文件夹

项目B(基于基地)
java

  • 源/核心

  • src/projectB 特定文件夹

网页

  • 模板

  • CSS

  • javascript

  • 图片

  • projectB 特定文件夹

重要约束

a) projectA 和 projectB 共享了相当一部分基础项目的代码

b) 除了拥有自己的文件和代码外,ProjectA 和 ProjectB 还可以添加、修改或删除 web/templates、web/css、web/image 文件夹中的文件 - 用于自定义和白标

c) future 可以创建更多项目,如 projectA 和 projectB

d) 当基础项目发生变化时,应该可以在子项目中反射(reflect)出变化

e) 有时,projectA/projectB 中对公共(public)文件所做的更改应折叠回基础项目中。

最初,我以为我将为基础项目和项目 A、B 等中的每一个都有单独的 git 存储库。但特别要记住上述限制,在我看来,git subtree 或 submodule 方法都不起作用(因为明显的局限性)

所以,我倾向于拥有一个单一的存储库并使用“分支”方法,其中 projectA 和 projectB 将成为分支,而 base 将成为“主”。约束 (e) 在这种方法中的效果如何?

有没有更好的方法在 git 中管理它?

最佳答案

您使用 base 分支和每个子项目的分支的方法听起来很合理。

然后您可以检查 basecherry-pick 您需要从子项目(约束 e) merge 的提交。

关于git - 如何使用 git 存储库跨项目组织共享代码/ Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127910/

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