创建包含子模块的精确Git存储库并将其推送到具有精确文件夹结构的GitHub [英] Create and push EXACT git repository containing submodules to github with EXACT folder structure
本文介绍了创建包含子模块的精确Git存储库并将其推送到具有精确文件夹结构的GitHub的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我认为我的用例是Git子模块最简单的用例。
我有一个目录结构
<project-name>
---<directory1>
---<directory2>
---<directory3>
---<directory3.1>
每个子目录都是一个Git存储库。我只想跟踪添加到我的<project-name>
目录中的不同Git存储库,这是我的主(或超级)存储库。
我已经知道如何将这些Git存储库中的每一个作为子模块添加到我的超级存储库中,超级存储库也是一个包含它们的目录。在当地,我正好有我想要的东西。
所以一些Git子模块在我的超级存储库中有两个深度,只要我使用
git submodule add <relative-path-to-submodule> <relative-path-to-submodule>
它会很好地处理它。
我到底为什么要做这件事?因为这表示CFD框架(OpenFOAM)中的传统本地目录结构,所以我正在为.
开发我的代码我和其他人分别开发不同的子模块,分别跟踪每个子模块/子目录是绝对有价值的。
目标是让我的最终用户克隆我的代码库,更改名称,并开始编译和使用代码。(按照惯例,建造超级容易)
我只是想不出如何将所有代码推送到GitHub,包括来自
子模块作为该特定子目录中的文件。
我不想(负担不起)在超级存储库中添加子目录。所有的答案都告诉我这样做,这是没有意义的。
我找到了确切的问题,但尚未回答(Git: Push a local git submodule, including submodule files, to a remote bare repository)
推荐答案
我只是想不出如何将所有代码推送到GitHub,包括子模块中的实际文件作为该特定子目录中的文件。
首先,不要使用子模块,它们不适合您要做的事情。
第二,试试子树方法:我解释了between submodule and subtree和illustrated subtree here的区别。
请参阅:
git subtree
允许您将一个存储库作为子目录嵌套在另一个存储库中。这是Git项目管理项目依赖项的多种方法之一。
这篇关于创建包含子模块的精确Git存储库并将其推送到具有精确文件夹结构的GitHub的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文