当前位置:  开发笔记 > 数据库 > 正文

Git:从现有存储库中创建Git子模块,并反映对子存储库的父更改

如何解决《Git:从现有存储库中创建Git子模块,并反映对子存储库的父更改》经验,为你挑选了1个好方法。

请注意,我是Git的新手.

我有两个回购:

    Libgdx REPO

    gdx-sqlite REPO

主存储库是Libgdx REPO,我的所有工作都进入了这个存储库,主要是在gdx-sqlite项目中.由于我希望gdx-sqlite项目作为一个单独的存储库出现,我所做的是:

    在GitHub上创建了一个新的repo(gdx-sqlite REPO)

    在我的机器上创建了一个本地仓库(嵌套在本地libgdx仓库中)

    将本地嵌套repo的所有代码推送到远程gdx-sqlite REPO

这导致一切都出错了,我认为嵌套存储库是主要的罪魁祸首.后来我删除了本地嵌套存储库并恢复到之前的提交.我发现这种问题的解决方案是Git Submodules但是我完全迷失了我想要实现的目标,如下所示.

现在我应该如何根据以下内容实现这一目标:

    我想创建一个位于"gdx-sqlite REPO"的新repo,它应该始终反映我对位于" https://github.com/mrafayaleem/libgdx/tree/master/extensions/gdx-sqlite "的项目所做的更改."

    任何向"gdx-sqlite REPO"发送Pull请求的人都应该能够获取所有依赖项(即完整的libgdx REPO),以便他可以立即处理该扩展.

怎么可以这样做?



1> aymericbeaum..:

你是对的.这种情况的好方法是使用Git子模块.这是处理Git中依赖项的最佳方法.

由于gdx-sqlite是您的主项目Libgdx的扩展,您可以这样做将其添加为子模块:

git clone git@github.com:mrafayaleem/libgdx.git libgdx
cd libgdx
# remove the old directory
rm -rf extensions/gdx-sqlite
git add extensions/gdx-sqlite
# add the submodule (note the read-only URL)
git submodule add git://github.com:mrafayaleem/gdx-sqlite.git extensions/gdx-sqlite
# commit the changes
git commit -m 'Add submodule for the gdx-sqlite extension'

然后克隆您的项目(及其所有子模块):

git clone --recursive git://github.com/mrafayaleem/libgdx.git

或者为您(具有写访问权限):

git clone --recursive git@github.com:mrafayaleem/libgdx.git

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有