繁体   English   中英

创建一个包含另一个git存储库的git存储库

[英]Create a git repository that contains another git repository

我创建了一个简单的git repo(让我们称之为repo#1)并克隆它。

  • 在克隆(repo#2)中,我创建了几个文件夹,其中一个我决定制作一个git repo(repo#3)。
  • 当我提交回购#2时,一切都按预期运行,而忽略了回购#3(.git文件夹,文件提交)。

如何将repo#3添加到repo#2中,这样当我将repo#2推送到repo#1时,我可以单独复制repo#1,我还可以访问repo#3的历史记录等?

换一种说法。 如何创建包含另一个git存储库的git存储库?

我不知道如何完全按照你的建议去做,但是子模块可能会接近(或者尽可能接近)。 这是一个体面的教程:

http://git.or.cz/gitwiki/GitSubmoduleTutorial

你不应该这样做。 .git /下的元数据在repo生命周期内发生了变化,这种变化不一定意味着应该提交的“内容变化”:简单的git repack更改.git下的文件,但不应该提交更改。 你为什么要那样做?

看看git submodule

我从来没有用过它,所以我所能做的就是发布链接......

无论如何我不是GIT专业人士,但我认为你指的是git子模块

git submodule --help

在容器存储库根文件夹中,只需:

git submodule add https://github.com/yourusername/containedrepo.git containedrepo

这将克隆containedrepo内部/containedrepo目录。 从现在起,你不应该做出的改变/containedrepo目录,而是做出改变containedrepo ,然后拉他们。 当您拉动主容器存储库时,它还将拉出所有子模块存储库,例如containedrepo.git

这是一个很棒的教程: https//github.com/NebuPookins/git-submodule-tutorial

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM