我正在做一个包含这三个组件的项目(所有这些组件一起工作):
作为开发的一部分,我可能会对第三方库项目进行更改,并且我希望将更改贡献给项目所有者,最好通过GitHub fork / pull请求。
问题是,如果我不希望它完全开源并托管在GitHub上,我如何构建我的存储库(存储库)?如果它是100%封闭源代码,我会有一个包含3个主文件夹的存储库,例如ServerSide
,ClientSide
和LibraryXY
,但我想将第三方库的内容复制到LibraryXY
会很难在GitHub上向项目所有者提供更改。
答案 0 :(得分:3)
您可以使用git submodule
或git subtree
命令。
git存储库中的子模块就像一个子目录,它本身就是一个独立的git存储库。当您在git中拥有一个依赖于其他项目的特定版本的项目时,这是一个有用的功能。 see details
子树允许子项目包含在子目录中 主项目,可选择包括子项目 整个历史。例如,您可以包含库的源代码 作为您的应用程序的子目录。 see details
根据您的项目结构,我建议您使用git subtree