将一个存储库分割成 "子存储库",同时保留远程到国外存储库的功能。

问题描述 投票:0回答:1

我的主要开发项目是一款名为NAEV的游戏的 "整体转换"。我的TC名为 SoC (Stars of Call的缩写),它的背景是与NAEV完全不同的宇宙,但却原封不动地使用了游戏源。以我有限的C语言能力,我有时会借着这个游戏 NAEV. 它是用C写的,而且 基本上有两个子文件夹 : SRC (C源)和 数据 XMLLua数据)。

NAEV存储在GitHub上,其仓库名为 naevnaev, 非我所有. 我有 自己的克隆体 Mutosnaev 在GitHub上,我与naevnaev保持同步。为此,我使用了一个本地版本库,其中包含了 缘起 指向Mutosnaev和 上游 到naevnaev,像在 https:/help.github.comengithubcollaborating-with-issues-and-pull-requestssyncing-a-fork。.

所以,我开发SoC的方法是尽量跟上NAEV的源头,并专注于数据,它描述了SoC的宇宙。因此,问题是,SoC必须有 同源 文件夹,但比NAEV 截然不同的数据 文件夹。

目前,我用手将SoC src文件夹与NAEV src文件夹同步。但这意味着我失去了提交历史,不能根据NAEV的发展逐步调整我的数据,逐个提交。所以,SoC总是落后于NAEV,每次我想更新SoC的src时,我都很难适应我的数据。

我想要的是为SoC建立第三个仓库,命名为MutosSoC。其src文件夹将跟随NAEV src而它的dat文件夹将完全独立于NAEV的dat文件夹。

如何实现呢?请注意,我对GitHub不是很熟练,因为我只是偶尔使用它。所以我需要解释的措辞要能让n00b级别的人理解^-^。

谢谢你的提示!

git github subdirectory
1个回答
1
投票

这可能不是你要找的,但你可以考虑。

  1. 添加git子模块或...
  2. 移动同一父git目录下的目录

进入一个初始化的git repo,在那里你会想存储其他的repos。然后,在同一个目录下,使用。

git submodule add <repo url>

例如:

git submodule add https://github.com/rust-lang/rust.git

你可以通过进入repo的主页面,点击 "克隆或下载",然后复制链接来找到repo的网址。

如果这些还不是git repos,那么你就不能将这些目录添加到同一个git repo中。你包含的每个目录都需要是git初始化目录的子目录。如果它们是,那么你可以使用。

git add <directory path>

例如:

git add ./subdirectory1/subdirectory2
© www.soinside.com 2019 - 2024. All rights reserved.