如何将存储库添加到另一个存储库中,作为GitHub上的文件夹

时间:2020-04-18 11:55:40

标签: git github

我的存储库A具有“正常行为”。

在该存储库中,我有一个readme.mdAbout.md,一些带有其他文件的文件夹等。 我想知道的是为我在Raspberry Pi上运行的homeassantant自动化添加单独的文件夹(这将是存储库B)。

我成功添加到本地,并通过Pi上的控制台通过github与我的github连接,但是它无法按预期方式执行“ push”命令,因为我没有执行“ pull”操作,但是我确实不喜欢这些文件不需要我的Pi,它会弄乱我的配置。

我想拥有类似的结构

Project (Repository A)
 - Readme.md
 - Folder1
   - SomeFile.txt
 - RepositoryB Folder (in this folder will be pushed form my Pi files and config)

Should I just use a fork on repositoryB which will be a separate repo?

1 个答案:

答案 0 :(得分:0)

您可以通过git submodule add https://github.com/<name-of-repo-B>将存储库B作为存储库A的子模块。通过这种方法,您可以将更改独立推/拉到存储库A和存储库B。

克隆包含子模块的存储库时,必须随后执行git submodule update --init --recursive来克隆子模块。

请注意,当将B作为子模块包含时,对库A使用拉动不会更新库B。同样,要更新B,您可以在存储库A中运行git submodule update --remote --recursive或在存储库B(git submodule update --remote vs git pull)中运行git pull

请参见https://git-scm.com/book/en/v2/Git-Tools-Submodules

似乎您也只能从Git 2.19(How do I clone a subdirectory only of a Git repository?)克隆Git存储库的子目录