如何更改 git 子模块以指向子文件夹?

2024-01-04

浏览子模块教程 https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial,我创建了一个子模块博托项目 https://github.com/boto/boto。然后,我发现我实际上只需要这个项目的一个子集 - 具体来说,boto https://github.com/boto/boto/tree/master/boto folder.

我想更改我的子模块以指向该文件夹。当我查看 .gitmodules 时,我看到

[submodule "backup/src/boto"]
    path = backup/src/boto
    url = https://github.com/boto/boto.git

我应该使用什么 URL 代替https://github.com/boto/boto.git https://github.com/boto/boto.git?更改 URL 后,是否应该在本地删除 boto 文件夹并重新拉取?


恐怕子模块的 URL 总是只指向存储库 - 你不能指定你只需要存储库的子文件夹,就像 git 一般不支持“窄克隆”一样。

如果您不能接受将整个存储库作为子模块,您始终可以创建一个从 boto 克隆的新存储库,然后设置一个 cron 作业来:

  1. git fetch将该存储库放入目录中
  2. Use git filter-branch更新子目录位于顶层的分支。
  3. 添加存储库的该分支作为子模块。然而,这有点繁琐,我的偏好只是将整个存储库作为子模块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 git 子模块以指向子文件夹? 的相关文章

  • 理解“git remote show”命令输出...“为‘git push’配置的本地引用”的含义是什么?

    我有两个遥控器和两个本地分支机构 本地分支 master 正在跟踪远程分支 origin master 本地分支 mirror 正在跟踪远程分支 github master 这是在我的 git config 文件中 remote origi
  • 哪种 git commit 实践更好?

    我坚信 对一个问题做出一次承诺是一种很好的做法 我确信我在 最佳实践 之类的文章中读过它 因此 我的工作流程如下 对于新问题 我创建了一个新的本地分支git checkout b new issue 将所有更改提交到其中 有时这涉及到lot
  • 致命:未配置推送目的地

    请参阅以下屏幕详细信息 git remote v 命令显示我已添加 test vish 但是当我发出 Push 命令时 它给出了错误 有人可以帮忙吗 C Users vishwas gupta03 Documents GitHub test
  • Git 命令以编程方式将文件的一系列行添加到索引?

    我想要一个命令可以让我做类似的事情 git manual add some file txt 10 20 这相当于 git add p some file txt 并说y仅包含第 10 行到第 20 行的大块 是否有内部 git 命令可以让
  • 如何提交 git 标签?

    我已成功对中央 git 存储库进行 提交和推送更改 我现在意识到我想标记所有文件的当前版本 所以我这样做 git tag a 0 5 这样就成功了 但现在我尝试git push我被告知没有什么可承诺的 如何将新标签推送到中央存储库 注意gi
  • 如果提交格式不正确,是否可以拒绝 Github 上的提交?

    正如中提到的this https stackoverflow com a 6742691 1501285答案 可以在 Github 提交中引用问题 是否可以拒绝它的提交not格式化成这样 Example fix gh 12 foo bar是
  • 如何让 Git diff 忽略版本号更改?

    有没有办法从 Git diff 中消除版本号变化噪音像这个 https github com keith Xcode app strings commit 9502c601cad31ef452c4cd6e8ece3982345fba1d 具
  • 改进 IntelliJ 注释(git Blame)

    我想改进 注释选项 右键单击代码行号冒号 gt 注释 它类似于 gitblame 但集成到 IntelliJ 1 这可能吗 通过插件或 IntelliJ 文件的原始修改 还有其他什么吗 2 我使用的是 Android Studio 基于 I
  • 在 GitHub 上看不到“在 Xcode 中打开”按钮

    正如在GitHub 和 Xcode 9 中的新源代码管理工作流程 https developer apple com videos play wwdc2017 405 time 204Apple 视频会话 我们可以直接从 Xcode 克隆项
  • Git merge --squash 可以保留提交注释吗?

    有没有一种方法可以自动添加压缩后的所有提交注释mybranch执行时提交 git merge squash mybranch 这样单个提交包含所有提交注释的串联mybranch 我认为这就是 git merge squash 自动执行的操作
  • Git 将新的本地分支推送到远程,无需指定名称

    当针对特定的跟踪问题进行补丁修复时 我们的工作流程如下所示 1 git checkout patch git pull upstream patch make sure we re up to date 2 git checkout b i
  • 比较 2 次提交

    我没有找到任何关于获取两个文件之间差异的文档 我使用下面的代码使用坚固的方式提交文件 repo Rugged Repository new reponame email protected cdn cgi l email protectio
  • 分支和文件夹的 gitolite 权限

    在 gitolite 我想要 developers能够推送到除以下之外的任何分支master I want user1能够推送到任何分支 包括master 除了不是某个目录master 我该怎么做呢 这应该解决以下两个问题 repo are
  • 是否可以在不从 git 克隆或拉取的情况下获取分支名称?

    我想获取 git 存储库的所有分支名称 目前 我克隆存储库 然后将它们获取到本地计算机上 这是低效的 因为我所需要的只是名称而不是其他 我想知道是否可以这样做 如果是这样 我可以使用什么命令 在本地 无需克隆 您可以键入 使用 gitls
  • Emacs shell:保存提交消息

    我几天前开始使用 emacs 在 emacs shell M x shell 中使用 git 时遇到问题 当我 git commit 或 git commit amend 时 它会打开 vim 来编辑并保存提交消息 我对此表示同意 但我找不
  • Git 和外部备份。子目录是空的,我宁愿它不是空的。

    我想使用 Git 创建外部备份系统 这部分是受到答案的启发在外部磁盘上备份整个 git 存储库的最佳方法是什么 https stackoverflow com a 4372855 2533127 其中建议如下 您还可以通过启动一个新的存储库
  • 更快的“git rebase --preserve-merges”方法

    我通过创建一系列功能分支来使用 git 并在完成后将它们合并到 mastergit merge no ff 这会创建空的合并提交 可用于识别先前功能分支的起点和终点 为了处理多个并发分支 甚至嵌套分支 我使用 rebase 我从不合并回去
  • 如何防止自动工具自动重新生成配置脚本?

    有时由于SCM没有严格记住文件的时间戳 生成的Makefile会认为需要重新运行 autoreconf i 或相当于从Makefile am重新生成Makefile in 从configure ac重新生成配置等 我该如何防止这种情况 我想
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • git merge 和 git merge origin 之间的区别

    这不是一个关于git merge origin branch vs git merge origin branch git merge

随机推荐

  • Woocommerce 按属性搜索

    我在默认的 woocommerce 搜索系统中遇到了一个小问题 我需要开设一家基于 WooCommerce 的书店 所有这些书籍都包含独特的属性 例如标识号和 ODN 或 IBN 现在我需要一个搜索栏 如果我在搜索栏中输入任何独特的属性 例
  • 什么控制 git checkout 反馈?

    有时一个git checkout命令给出进度反馈 git checkout develop Checking out files 100 10779 10779 done Switched to branch develop 有时它不会 下
  • Python中获取总物理内存

    如何以与分布无关的方式获取 Python 中的总物理内存 我不需要已用内存 只需要总物理内存 跨平台解决方案的最佳选择是使用psutil https github com giampaolo psutil包 可在PyPI https pyp
  • Helvetica 在 Windows 操作系统上呈现为 Arial

    在我的网站上 http helvetitee com http helvetitee com 我有以下字体堆栈 font family helvetica neue helvetica nimbus sans Nimbus Sans 一种网
  • 用 Coq 重写假设,保留蕴涵

    我正在做 Coq 证明 我有P gt Q作为假设 并且 P gt Q gt Q gt P 作为引理 如何将假设转化为 Q gt P 当我尝试apply它 我只是产生新的子目标 这没有帮助 换句话说 我想从以下开始 P Prop Q Prop
  • 清除 woocommerce 中的结账字段

    我正在尝试删除各个结账字段中自动加载的用户信息 但似乎找不到任何方法来访问字段值 我已经尝试了以下清除格式 删除 字段等的操作 但我找不到任何内容显示如何仅删除该值 有谁知道如何访问这个 add filter woocommerce che
  • 如何使用 ADB 生成 Android 中的捏合等多点触控事件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想通过 ADB 命令行在 Android 中生成多点触控 捏合 的输入事件 现在我可以使用以下命令生成触摸屏滑动事件 input t
  • 每个项目类型都有单独的资源字典

    我已经在我的共享项目中创建了一个 ResourceDictionary 没有任何问题 然而 我的一些样式对于 Windows Phone 8 1 来说非常特殊 并且不会在 Windows 8 1 中使用 由于Windows Phone项目中
  • OwinContext.Request.Path 和 PathBase 是如何填充的?

    我正在根据 Katana 项目中的其他示例为 OpenID Connect 授权代码流程编写自己的 OWIN 中间件 作为此过程的一部分 我必须构造几个 URI 例如重定向 URI 和返回 URL Katana 中的其他示例通过连接当前请求
  • 通过适应度函数从群体中选择个体

    我一直在研究一种算法 我需要从大小为 k 的群体中选择 n 个个体 其中 k 比 n 大得多 所有个体都有适应度值 因此选择时应优先考虑较高的适应度值 然而 我不想简单地选择最好的n个人 最差的人也应该有机会 自然选择 因此 我决定找到人群
  • 如何在 Ninject 中使用 Provider

    我有以下代码 public class Something Inject public Configuration config get set singleton Inject public Provider
  • 按分隔符分割字符串

    我实在找不到这个答案 我在 XCode 中有一个名为 myString 的多行 NSString 它是一个 HTML 代码 我需要按行导航字符串 例如 myString 如何逐行访问 喜欢 LineOne myString Lines 0
  • 未绑定断点?

    在构建并运行代码后 我在运行一些断点时遇到了问题 我的项目是在 ASP NET 上的 我正在使用 VS 2022 到目前为止我已经尝试过以下操作 重启VS并删除我所有的断点 清理我的解决方案 构建 gt 清理解决方案 Delete vs f
  • 向上滚动不适用于 Listview 中的 SwipeRefreshLayout

    我想用 listView 实现滚动刷新功能 此外 同一布局文件中还有其他视图元素 如果列表为空 则会显示这些元素 这是我的布局文件 问题是 当我向下滚动然后尝试向上滚动时 而不是一直滚动到顶部然后刷新它只是在那里刷新并且向上滚动不起作用
  • 合并 IdentityDbContext 和 DbContext ASP.NET MVC

    我希望我的 ASP NET MVC 项目中只有一个 DbContext 我应该如何将默认的 IdentityDbContext 与我自己的代码首先 DbContext 合并 他们使用相同的数据库 public class Applicati
  • 套接字在 Python 中不工作

    我一直在尝试 Python 中的 socket 模块 但每当我尝试运行此代码时 import socket import sys host 192 168 1 1 port 23 try s socket socket socket AF
  • notepad++ 反向正则表达式替换(除字符串之外的所有内容)

    我本质上希望匹配每一行DOES NOT包含这个字符串 Hello Example sdfsdoifdoskf fdgokfdghodfkg hello fdojgohdfgjkdfg gfobjobhkdfokgdfg dofjkdsf h
  • 将函数置于后台

    我有以下功能 def update contacts data Update a user s contacts from Google to be run as a background task from users google oa
  • 关联使用了错误的列

    我正在使用现有的数据库 该数据库没有创建外键 但我可以使用 sql 查询连接两个表 但无法在后续中连接它们 有两种型号 用户 module exports sequelize DataTypes gt var User sequelize
  • 如何更改 git 子模块以指向子文件夹?

    浏览子模块教程 https git wiki kernel org index php GitSubmoduleTutorial 我创建了一个子模块博托项目 https github com boto boto 然后 我发现我实际上只需要这