我的主要开发项目是一款名为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 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