Git:从现有存储库创建 Git 子模块并将父级更改反映到子存储库

2024-04-05

请注意,我是 Git 新手。

我有两个存储库:

  1. Libgdx 回购协议 https://github.com/mrafayaleem/libgdx
  2. gdx-sqlite REPO https://github.com/mrafayaleem/gdx-sqlite

主要存储库是 Libgdx REPO,我的所有工作都进入这个存储库,主要在gdx-sqlite 项目 https://github.com/mrafayaleem/libgdx/tree/master/extensions/gdx-sqlite。由于我希望 gdx-sqlite 项目显示为单独的存储库,所以我所做的是:

  1. 在 GitHub 上创建了一个新的存储库 (gdx-sqlite REPO)
  2. 在我的机器上创建了一个本地存储库(嵌套在本地 libgdx 存储库内)
  3. 将本地嵌套存储库的所有代码推送到远程 gdx-sqlite REPO

这导致一切都出了问题,我认为嵌套存储库是罪魁祸首。后来我删除了本地嵌套存储库并恢复到以前的提交。我发现解决此类问题的方法是 Git 子模块,但我完全迷失了我想要实现的目标,如下所示。

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

  1. 我想创建一个新的存储库,位于“gdx-sqlite 回购协议”这应该始终反映我对位于以下位置的项目所做的更改"https://github.com/mrafayaleem/libgdx/tree/master/extensions/gdx-sqlite https://github.com/mrafayaleem/libgdx/tree/master/extensions/gdx-sqlite"
  2. 任何发送 Pull 请求至“gdx-sqlite 回购协议”应该能够提取所有依赖项(即完整的 libgdx REPO),以便他可以立即处理该扩展。

如何才能做到这一点?


你说得对。对于这种情况,最好的方法是使用Git 子模块 http://git-scm.com/book/en/Git-Tools-Submodules。这是在 Git 中处理依赖关系的最佳方式。

As gdx-sqlite https://github.com/mrafayaleem/gdx-sqlite是您主项目的扩展Libgdx https://github.com/mrafayaleem/libgdx,您可以通过这种方式将其添加为子模块:

git clone [email protected] /cdn-cgi/l/email-protection: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 [email protected] /cdn-cgi/l/email-protection:mrafayaleem/libgdx.git
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git:从现有存储库创建 Git 子模块并将父级更改反映到子存储库 的相关文章

  • 是否可以从一个存储库中拉取并推送到另一个存储库?

    我在 github 上有一个公开的存储库 在那里我有一个正在开发的开源应用程序 用于制作产品目录和小型 cms 内容 我还有一个私有存储库 未托管在 github 中 它是在 github 中托管的开源应用程序下开发的应用程序 由于我目前正
  • 在轮询 SCM 时将 ssh-agent 与 jenkins 结合使用

    我使用 Jenkins ssh agent 插件来为我的构建提供 ssh 凭证 该凭证运行良好 但是我将其设置为轮询 scm 在本例中为 bitbucket git 以检查更改 当然 要访问存储库以轮询更改 它还需要这些 ssh 凭据 我似
  • git rebase 冲突是由哪个提交引起的

    当我执行 git rebase master 时 有时会发生冲突 有时 即使有错误消息 也很难追踪问题 如果我能找出 git 正在尝试重新申请并导致冲突的提交 这将是一个真正的帮助 如何找出哪个提交导致了冲突 查看冲突的文件 以开头的行 g
  • Subversion:暂存文件以显式提交?

    我已经非常习惯 git 的方式 即必须接触要提交的每个文件 并且在执行此操作时仔细检查差异 现在在工作中我必须使用 svn 并且我总是不小心提交一些东西 有没有办法让 subversion 的行为像 git 一样 因为我必须明确告诉每个文件
  • Phonegap - 自动包含正确的科尔多瓦

    我正在 iOS 和 Android 上开发一个 PhoneGap 应用程序 并使用 git 控制我的 www 目录版本 我知道我的 HTML 文件需要包含正确的 Cordova js 文件 取决于我当前正在开发的平台 当有人在 Androi
  • Git - -m 是什么意思 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions In Gi
  • Composer - 添加 git 存储库而不使用composer.json

    我尝试从 github designmodo Flat UI 添加存储库 使用配置并收到错误No valid composer json was found in any branch or Your requirements could
  • git 无法检测重命名

    一个分支 refactoringBranch 进行了完整的目录重组 文件被混乱地移动 但内容被保留 我尝试合并 git merge no ff Xrename threshold 15 Xpatience Xignore space cha
  • 从 IntelliJ IDEA 中的版本控制中删除文件

    我正在使用 IntelliJ IDEA 社区版 2016 1 我已将我的项目放在 Git 下 并将其托管在 GitHub 上 When I first hit that Share Project on GitHub button ever
  • “分支”到底是什么意思?

    长话短说 据我所知 术语 分支 Git 术语 可能指的是相关但不同的事物 指向提交的非符号引用 指针 此类引用的名称 例如 master 存储库提交 DAG 的子图 由此类引用所指向的提交可到达的所有提交组成 然而 我发现这个术语显然指的是
  • GitHub:本地使用 wiki:首次推送到 GitHub wiki 时出错

    这个问题我搜索了很多次 还是无法解决 假设我从 user1 分叉了一个存储库 我们将其命名为 repo1 现在我也想分叉该存储库的 Wiki 部分 当您分叉存储库时 GitHub 不会为您做任何事情 https stackoverflow
  • eGit 合并解决方案 - 使用您的副本

    我对 eGit 还是新手 我正在尝试弄清楚到底如何让 eGit 使用我的副本解决合并冲突 无需任何更改 我指的是 eGit Wiki 上的注释 http wiki eclipse org EGit User Guide Possible m
  • gitosis 要求输入密码

    我已经按照以下说明设置了 gitosis 服务器here http scie nti st 2007 11 14 hosting git repositories the easy and secure way 它对于初始用户来说效果很好
  • 如何避免获取 .repo/manifest.xml?

    如何避免获取 repo manifest xml 故意修改的 我不想在回购同步期间对其进行修改 我已经做了一个repo init 这一步就完成了 我对manifest xml做了一个小修改 删除了一些同步不需要的项目 当我们进行存储库同步时
  • 我们如何从团队项目中的所有 Git 存储库连接到 TFS?

    我正在运行最新的 Visual Studio 2013 Ultimate 和 Update 1 我们也有最新的 Team Foundation Server 2013 我们中的一些人对新的 Git 存储库集成感到非常兴奋 但似乎有一个相当大
  • 在github原子编辑器中隐藏隐藏(点)文件

    我对 Github Atom 编辑器非常陌生 它总是显示隐藏文件 例如 git sass在侧窗格中 如何在atom编辑器的侧窗格中隐藏隐藏文件 点文件 编辑 gt 首选项 gt 包 在 已安装的软件包 下面的字段中 输入 树视图 该软件包有
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • jquery 克隆组合框无法运行

    我有下表 当我按下第一个按钮时 我调用 jquery 来克隆第一行并添加新行 table class table table striped table bordered bootstrap datatable style font siz
  • git:显示所有已修改的文件 - 已暂存和未暂存

    我需要一个命令给我所有修改过的文件 这包括暂存 即新添加的文件 和非暂存更改 在普通列表我可以在脚本中使用它 虽然这个问题可能听起来很熟悉 但我只找到接近我想要做的命令 git ls files m 列出 非分阶段 修改但忽略了上演的和新的
  • git 存储库中的提交次数

    我的一个为期 5 个月的项目即将结束 作为毫无意义的统计数据的粉丝 我想知道自存储库启动以来已经进行了多少次提交 我怎样才能发现这一点 Notes 我知道没有one存储库 我只对本地版本感兴趣 这在颠覆中是微不足道的 因为修订标识符 似乎是

随机推荐