如何将两个 git 回购作为一个回购进行管理,但保持分开?

How to manage two git repos as a single repo, yet stay separate?

我看过其他关于此的问题,但无法将它们与相同问题联系起来。

我有一个从 GitHub 克隆的主题,它成为 master 分支。

然后我在最初克隆的主题中为我的网页内容创建了一个新的本地分支,我想将我的页面内容检查到我自己在 GitLab 上的存储库中,所以我为内容分支添加了远程存储库。此时,主遥控器与分支遥控器不同。

通过不将我的内容分支合并到 master,我总是可以从更新 web 主题的 master 的远程拉取,然后切换到内容分支和 develop/update 我的内容。所以它们有点独立,无意合并。

那么问题就变成了...为了运行GitLab Pages,站点是从master分支生成的。但是我无法将我的内容分支合并到主分支中 1) 因为主分支有远程回购指向别处(原始 GitHub 主题回购),以及 2) 如果我可以从主分支中提取更新,它会覆盖更改在我的内容分支中。

所以我的要求是:

1) I can keep the remote theme seperate from my own content.
2) Add my own content to the theme and develop.
2) Join the theme and the content into a repo on GitLab for Pages to work.
3) Later update just the theme, and then overlay my content on the new theme and continue to develop. 

有人知道如何正确组织这个吗?

如果我对您的情况的理解正确,发布到您的 GitLab 页面需要将发布就绪版本推送到您的 GitLab 存储库,如 master

为了完成这个,你需要记住的是 GitHub 上的 master 分支和 GitLab 存储库不需要相关,即使你有一个沙箱如您所述,指向两个遥控器。

要创建一个本地分支,我们称它为 publish,它指向您的 GitLab 的 master 分支,并将其与模板在 GitHub 上的主分支区分开来,您可以这样做:

git checkout develop
git checkout -b publish
git branch -u gitlab/master

现在,当您在本地分支 publish 并以您希望发布的状态将所有内容合并到其中时,运行 git push 它将更新 gitlab/master 与您当地的 publish 分支。

假设:

  • 您在 GitLab 上调用了第二个遥控器 gitlab,例如 运行ning:

    git remote add gitlab URL_TO_YOUR_GITLAB_REPO

  • gitlab 遥控器上已经有一个 master 分支。

  • 您之前已从 gitlab 获取,例如 运行ning git fetch gitlab,因此您的沙箱具有对 gitlab/master 的引用.