维护包含其他克隆 git 存储库的 git 存储库

2024-01-01

我正在使用一个网站Sharelatex(github) https://github.com/sharelatex/sharelatex但它包含用于构建主项目的其他存储库。我克隆了主存储库并做了grunt install用于下载这些存储库。

但问题是我需要更改主存储库和下载的代码中的代码。

由于这些项目可以获得新的更新,我也想合并这些更改。我还需要维护一个存储库,但是当我将更改推送到 Github 时,它只显示主存储库中的更改。

我碰到submodules在 git 中,但由于主项目不包含任何子模块类型,我无法使用它。

例如:

有一个回购协议web在主项目中使用。我首先对以下文件进行一些编辑web。我需要这些更改反映在我的远程存储库中,以便其他人可以使用它们。

现在假设一段时间后有一个重要更新webrepo 可用,我应该如何使用它?

I enter grunt install在命令行中下载此存储库。它不会创建子模块,而是将该存储库克隆到我的文件夹中,该文件夹随后被我的主 git 存储库忽略。

这个问题可能看起来不清楚,但我尽力解释了这个问题。

简而言之:

  • 我不仅希望在主存储库和涉及的任何其他存储库中执行更改,而且还希望在更新可用时拉取并合并这些其他存储库。

  • 我还需要维护我的项目的远程存储库。


我正在使用 Sharelatex(github) 开发一个网站,但它包含用于构建主项目的其他存储库。 [...] 我在 git 中遇到了子模块,但由于主项目不包含任何子模块之类的东西,我无法使用它。

实际上,你确实有一个子模块。这就是嵌套存储库,并且(我对此很认真)就您需要了解 grok 子模块的内容而言,这就是all还有子模块。要理解子模块,假设您有一个嵌套存储库(确实如此)并考虑管理要求,需要做什么来支持 dvcs 中的设置。

对于初学者来说,当人们克隆一个使用某个存储库中的子模块的项目时,您都决定包含已发布的提交,该克隆显然也不会获得子项目存储库(当然它不应该获得您的私有和天知道什么-你已经完成的版本)。因此,他们还必须从其自己发布的某个存储库中获取子项目存储库。

您如何告诉获取您提交的人们在哪里获取必要的子项目提交?简单地说,您必须在提交的文件中的某个位置添加一条注释,说明“这是一个应该包含任何所需的 $subproject 提交的存储库”。git submodule已决定.gitmodules作为存储此类笔记的传统位置。

接下来:好吧,如果你提供给他们的网址离线了,其他人该怎么办?他们显然需要使用另一个存储库。因此,.gitmodules只是建议,git submodule命令使用当前值.git/config, which git submodule init已从 .gitmodules` 中的建议填充。

git submodule的操作是all像这样。忘掉它。在您需要一些帮助来完成您已经发现需要做的事情之前,甚至不必费心查看命令。从知识开始,一个简单的事实是,子模块只不过是一个嵌套存储库,并且使用它的项目仅提交一个应该位于该嵌套存储库中某处的提交 ID。就是这样。这就是子模块的全部内容。

当你遇到需要做的繁琐任务时,寻找一个git submodule为您执行这些操作的子命令。您不必使用子命令。该子命令所做的就是自动执行简单的任务,否则这些任务将很费力。它是一个工具包,可以做你需要做的任何事情,而且它不可能或应该向世界上的每个人强加一些任意且充分的(

也就是说,有一项重要的安全措施git submodule update and git submodule add当他们执行以下操作时为您执行git clone为你。存储库通常在[子]项目顶层下具有实际的存储库内容.git,但是如果您检查一个没有该子项目的分支,或者需要或希望该子项目消失,那么它.git也会消失——这不是你想要的,因为它不仅包含你签出的内容,还包含整个实际的存储库。所以当git submodule update进行初始克隆,它提升子模块的.git目录到包含项目的存储库中的一个方便(且任意)的小角落,并替换.git它刚刚从子模块中移出的目录.git包含移动目录的相对路径的文件。

要在您当前拥有的存储库上完成初始提升,请将其移出当前存储库,从您放置的位置添加和更新,然后修复上游 url.gitmodules为了其他人的方便。

那里。现在您已经完全了解了理解 git 子模块所需的一切,并且只有在您发现需要时才逐步获取详细信息,以了解git submodule命令正在为您做事,以及为什么您实际上不必关心预先了解其联机帮助页上的每一个小细节。至少,我是这么认为的。

如果我错过了任何重要的内容,我会非常高兴(温和或直率,我真的不在乎)评论中的更正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

维护包含其他克隆 git 存储库的 git 存储库 的相关文章

  • Git 子模块导入语句失败

    我将一个存储库作为子模块添加到我的项目中 但是当我编译项目时 该存储库中的导入语句无法解析 为了添加子模块 我使用了命令 git submodule add
  • 如何将Github中的develop分支设置为默认分支而不是master?

    我知道这可以在存储库的管理页面上完成 可以在那里设置另一个默认分支 这就是这个问题的答案 但我发现 也许是一个错误 以下内容 如果你的master分支和develop分支完全相同 那么git克隆将不会克隆默认的 develop 分支 但仍然
  • 我的邮箱收到了。但我不知道如何获取邮箱中的补丁,因为邮箱的内容只是文本

    生成补丁后 git send email to 电子邮件受保护 cdn cgi l email protection patches patch 发送了补丁 我的邮箱收到了 但我不知道如何获取邮箱中的补丁 因为邮箱的内容只是文本 请看图片
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目
  • Gitflow错误无法初始化

    我已经将 gitflow 安装在我的 github 项目所在的目录中 但是 当我尝试使用命令 启动时git flow init 我收到以下错误消息 git flow init C cygwin64 usr local bin gitflow
  • Github 操作 - 错误:进程已完成,退出代码为 1

    我正在尝试设置 github 操作来部署我的应用程序 My bash 启动部署过程的脚本如下所示 bin sh set e vendor bin phpunit git push true git checkout production g
  • git commit 保存 vim 文件时出错

    我正在遵循简单的 git 指南nettuts 简易 git 指南 http net tutsplus com tutorials other easy version control with git 我在我的中初始化了一个空的 git 实
  • 是否可以使用 Visual Studio 中的 git stash 命令

    我正在使用 Visual Studio 2017 的团队资源管理器来处理git存储库 每次我使用git stash or git stash pop 我需要打开 Git Bash 控制台并导航到我的项目文件夹并运行命令 有什么方法可以隐藏在
  • .gitignore 在提交、推送或到达服务器时起作用吗?

    说我有一个 gitignore忽略所有 class files 当 时这些文件是否远离远程源 我在本地提交 添加我的文件 我的吗git寻找一个 gitignore当使用添加 提交时 并根据它所说的内容 从提交中删除内容 我推动我的承诺 做g
  • 两个目录中相同文件的 Git Diff 总是会导致“重命名”

    git diff no index no prefix summary U4000 目录1 目录2 这按预期工作 因为它返回两个目录之间所有文件的差异 添加的文件按预期输出 删除的文件也会产生预期的 diff 输出 但是 由于 diff 将
  • Git 中的作者和提交者有什么区别?

    我刚刚在 GitHub 上发现了以下提交 https github com felixge node formidable commit 0a0b150668daa3c6f01626d2565b898e5da12392 https gith
  • 对于 Web 应用程序来说,您理想的 git 分支架构是什么?

    我们是一个由开发人员组成的小团队 正在构建 Web 应用程序 我们目前拥有一个实时 测试和多个开发环境 您会建议什么分支架构 以便理想情况下每个开发人员都可以处理他的功能 这些功能可以在不影响其他开发人员 功能的情况下进行测试和部署 目前
  • 如何从不同分支上的本地提交复制文件?

    我提交了一个文件master分支但未推送remote 现在我正在努力feature分支 我希望将该文件复制到feature分支来自master分支 我怎样才能做到这一点 您可以从另一个分支检出特定文件 git checkout master
  • 如果使用 Maven,是否应该忽略 VCS 中 Eclipse 特定的文件?

    我知道为什么不将 Eclipse IDE 特定的文件提交到像 Git 我实际上正在使用的 这样的 VCS 中 这就是我使用 Maven 并让它为您生成这些文件的原因之一not将它们置于版本控制之下 但我想知道 是否应该在 gitignore
  • 推动而不承诺

    我有一个 git 存储库 我刚刚将其推送到服务器 然后我在服务器上设置了一个接收后挂钩 我想检查一下它是否有效 我必须再次提交才能看看它是否有效 我真的很想在尝试进行此设置时强制推动 而不是继续进行没有实际价值的提交 它不起作用 我只是不明
  • 使用 git 组织多个项目的最佳方式是什么

    我有 5 10 个独立项目 希望使用 Git 将其置于版本控制之下 组织项目 存储库的最佳方式是什么 每个项目使用一个存储库 对我的所有工作使用一个存储库 并为每个项目使用子目录 或者完全不同的东西 什么对你最有效 为什么 我肯定会说每个项
  • GitHub 的 Subversion 版本? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何摆脱指向origin/master的远程origin/HEAD?

    最近 我在两个不同的复制服务器上更改了我的原始遥控器 现在我在服务器上遇到这种情况 一切正常 git branch a master remotes origin master 在另一台服务器上我有这个 git branch a maste
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git

随机推荐

  • Net Core 2 - 实体框架:更新不同环境的数据库

    FACTS net核心2 0项目 实体框架 代码优先 不同环境的不同appsettings json文件 我利用包管理器控制台生成数据库脚本 添加迁移 更新数据库 如果我运行 PM gt Get DbContext 它会带回从我的 apps
  • Blazor 组件:当模型从子组件更新时刷新父组件

    我在 ASP NET Core 3 预览版 4 中使用服务器端 Blazor 组件 我有一个父组件和子组件 使用相同的共享模型 如下所示 Model public class CountModel public int Count get
  • 检查字符串是否包含 Velocity 中的特定子字符串

    在 Velocity 中 我有一个名为 url 的变量 其中包含以下字符串 ContentId 2 7507 ContentId 2 7508 ContentId 1 44551 我想检查该字符串是否包含子字符串 1 44551 这是我到目
  • 从 MTKView 创建的 UIImage 会导致颜色/不透明度差异

    当我将 MTKView 的内容捕获到 UIImage 中时 生成的图像看起来有质量上的不同 如下所示 我用来生成 UIImage 的代码如下 let kciOptions kCIContextWorkingColorSpace CGColo
  • Material UI - 禁用 DataGrid 中的多行选择

    我想阻止 Material UIDataGrid多个复选框部分 当我选择复选框部分时 应选择特定行 而其他行保持未选中状态 我尝试过disableMultipleSelection选项 但它不起作用
  • 无法从 Android Studio Assistant 连接到 Firebase

    我尝试从 Android Studio Assistance 连接到 Firebase 但尽管有互联网连接 但仍出现以下错误 当您达到 FireBase 上 FireBase 允许您为每个 FireBase 帐户创建的项目总数限制时 就会出
  • 更改循环内的变量名称

    我正在尝试创建一个循环 该循环将创建一个新变量 但也会自动更改变量的名称 例如自动增加值 不确定这是否可能 因为你不能有动态变量 if cin get n m Add an integer to m string 1 m Trying to
  • 无法使用jdk8和netbeans 8打开Web服务测试器页面

    我编写了一个简单的 Web 服务程序 但无法在 glassfish 4 0 Web 服务器上测试它 当我测试 Web 服务时 我看到以下消息 确保服务已成功部署 并且服务器正在运行 我可以在 glassfish Web 服务器上部署的 We
  • 调用成员过程 NULL SELF 参数 Oracle

    我有一个类型myType用成员过程声明insert obj 当我尝试这段代码时 出现以下错误 declare v obj myType begin v obj insert obj 1 2 3 end ORA 30625 method di
  • 找不到模块,webpack 别名与 typescript React

    我正在尝试在 webpack 中实现一些别名 我想要做的是 不要使用它从组件文件夹导入 App js 上的组件 components layout Header Header 我要这个 components layout Header He
  • 为什么 \R 在 Java 8 和 Java 9 之间的正则表达式中表现不同?

    以下代码可在 Java 8 和 9 中编译 但行为不同 class Simple static String sample nEn un lugar r nde la Mancha nde cuyo nombre r nno quiero
  • 如何唤醒应用程序

    是否可以每隔一段时间唤醒一个应用程序x分钟 以便应用程序可以在后台执行某些操作 所以该应用程序停留在后台 不 iOS SDK 不支持此类行为
  • 如何 ping Android 服务中的 URL?

    如何使用 Android 服务进行 ping 回调 我需要通过单击按钮打开网页 但在后台 ping 另一个 URL 以进行统计信息收集 我想如果你只想 ping 一个 url 你可以使用以下代码 try URL url new URL ht
  • SymPy 自动处理表达式

    我一直在使用 SymPy 将表达式转换为乳胶 然后由 Matplotlib 渲染 例如 from sympy import latex sympify from sympy abc import x str 2 x 3 x TeX late
  • 从 unity 发送请求时 file_get_contents 返回 null

    我正在 PHP 中处理 post 请求数据 header Access Control Allow Origin header Content Type application json charset UTF 8 header Acces
  • 在 JavaScript 中扩展

    有人可以帮我理解这段代码吗 对我来说似乎太复杂了 var extends this extends function d b function this constructor d prototype b prototype d proto
  • 红黑树的应用

    红黑 RB 树有哪些应用 有没有什么应用程序只能使用RB Tree而不能使用其他数据结构 A 红黑树 http en wikipedia org wiki Red black tree是一个特定的实现自平衡二叉搜索树 http en wik
  • DataAdapter.Update() 性能

    我有一个相对简单的例程 它查看媒体文件的数据库条目 计算宽度 高度和文件大小 并将它们写回到数据库中 数据库是 SQLite 使用 System Data SQLite 库 处理约 4000 行 我将所有行加载到 ADO 表中 使用新值更新
  • GitLab sidekiq 测试失败

    我按照此处的说明进行操作 https github com gitlabhq gitlabhq blob 4 1 stable doc install databases md https github com gitlabhq gitla
  • 维护包含其他克隆 git 存储库的 git 存储库

    我正在使用一个网站Sharelatex github https github com sharelatex sharelatex但它包含用于构建主项目的其他存储库 我克隆了主存储库并做了grunt install用于下载这些存储库 但问题