首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何像子模块一样在我自己的存储库中包含另一个git repo,但合并了额外的更改/pullrequest?

在你自己的存储库中包含另一个Git仓库,并合并额外的更改/拉取请求,可以通过Git的子模块功能来实现。子模块允许你将一个Git仓库作为另一个Git仓库的子目录,并且可以独立地进行修改、提交和拉取请求。

以下是实现该过程的步骤:

  1. 在你的存储库中创建一个子模块目录,用于包含另一个Git仓库。可以使用以下命令在存储库的根目录下创建子模块目录:
  2. 在你的存储库中创建一个子模块目录,用于包含另一个Git仓库。可以使用以下命令在存储库的根目录下创建子模块目录:
  3. 其中,<仓库URL>是你想要包含的另一个Git仓库的URL,<子模块目录>是你想要创建的子模块目录的路径。
  4. 初始化子模块并拉取其内容。在子模块目录下执行以下命令:
  5. 初始化子模块并拉取其内容。在子模块目录下执行以下命令:
  6. 这将初始化子模块并拉取其内容到子模块目录。
  7. 在你的存储库中进行额外的更改或拉取请求。你可以在存储库的其他文件中进行修改,并提交这些更改。
  8. 提交存储库的更改。在存储库的根目录下执行以下命令:
  9. 提交存储库的更改。在存储库的根目录下执行以下命令:
  10. 推送存储库的更改。执行以下命令将存储库的更改推送到远程仓库:
  11. 推送存储库的更改。执行以下命令将存储库的更改推送到远程仓库:

请注意,子模块是一个独立的Git仓库,它具有自己的提交历史和分支。因此,在你的存储库中进行更改时,需要分别处理存储库和子模块的提交和推送。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你参考腾讯云的文档和官方网站,了解他们提供的云计算解决方案和相关产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

离线使用 Git

按照设计,Git 可以在没有远程存储库的情况下正常工作。您可以像平常一样分支、暂存和提交文件。...,像平常一样使用 Git,但请确保每当执行 git pull、fetch 或 push 时,都会将记忆棒安装在计算机上。...Git 会很乐意将更改从本地存储库的一个副本获取到另一个副本。一种选择是通过 CD 或其他介质将包含本地 Git 存储库的目录简单地复制到另一台计算机,然后像平常一样在两台计算机上进行更改和提交。...要克隆存储库,只需使用: git clone repoName.bundle 可以在任何计算机上进行更改和提交,然后像之前一样必须选择一台计算机来执行合并。...将捆绑文件移动到其他计算机并使用以下命令更新那里的更改: git pull /path/to/repoName.bundle 创建本地远程存储库 捆绑包解决了在没有网络的情况下同步 Git 存储库的问题

26610

Git 中文参考(二)

0660 将创建一个对当前用户和组可读写的 repo,但其他人无法访问。 默认情况下,配置标志receive.denyNonFastForwards在共享存储库中启用,因此您无法强制执行非快进推送。...生成的存储库在没有任何自己的对象的情况下开始。 注:这可能是危险的操作;不要使用它,除非你明白它的作用。...完成后,运行git commit以最终记录合并: $ git commit 与记录您自己的更改的情况一样,您可以使用-a选项来保存输入。...一旦对您想要包含的代码块感到满意,您应该使用git diff --cached为第一次提交准备的内容验证。这显示了已移入索引并即将提交的所有更改。 接下来,提交存储在索引中的更改。...git pull 使用此命令来合并来自另一个存储库的更改,并且可以手动使用此命令将更改从一个分支合并到另一个分支。

20810
  • Git 中文参考(三)

    父/子关系仅在--parents中可见,但这不会影响在默认模式下选择的提交,因此我们显示了父行。...TREESAME(虽然可以更改,但请参见下面的--sparse)。 合并始终包括在内。但是,它们的父列表会被重写:沿着每个父项删除不包含在其中的提交。这导致了 ....构建存储条目,使其索引状态与存储库的索引状态相同,并且其工作树仅包含您以交互方式选择的更改。然后,从您的工作树中回滚所选更改。...- 从另一个存储库或本地分支获取并与其集成 概要 git pull [] [ […​]] 描述 将来自远程存储库的更改合并到当前分支中。...例子 更新你克隆的存储库的远程跟踪分支,然后将其中一个合并到当前分支中: $ git pull $ git pull origin 通常,合并的分支是远程存储库的 HEAD,但选择由分支确定。

    19910

    你可能不知道的20个Git命令,但真的很实用

    主要包含以下的命令Git Web -打开内置 GUIGit注释 -将额外信息附加到提交Git Bisect -像专业人士一样调试Git Grep -搜索任何东西Git Archive -压缩项目以供共享...3、Git Grep用于git grep在您的存储库中搜索代码、文件、提交或任何其他内容有没有发现自己需要在 git项目中的任何地方搜索字符串?.../my-archive HEAD5、Git 子模块用于git submodule将任何其他存储库拉入您的存储库在 git 中,子模块让您可以将一个存储库挂载到另一个存储库中,通常用于核心依赖项或将组件拆分到单独的存储库中...运行以下命令会将模块拉入指定位置,并创建一个.gitmodules文件,以便在克隆 repo 时始终下载该文件。克隆 repo 时使用--recursive标志来包含子模块。...还有一个git range-diff命令,它提供了一个用于比较提交范围的简单界面。git diff 工具还有更多功能(以及使用您自己的差异检查器的选项),因此我建议您查看 文档。

    85900

    开发者应该知道的 50 条最实用的 Git 命令

    团队中的每个人都可以在自己的本地机器上保留正在开发的存储库的完整备份。然后,多亏了BitBucket、GitHub或GitLab这样的外部服务器,他们可以安全地将存储库存储在一个地方。...git add remote https://repo_here 如何在Git中查看远程url: 使用这个命令可以查看本地存储库的所有远程存储库: git remote -v 如何在Git中获取远程repo...git remote show origin 如何在Git中推送更改到远程repo: 当你的所有工作都准备好保存到远程存储库时,你可以使用下面的命令推送所有更改: git push 如何从Git的远程repo...中获取更改: 如果其他团队成员正在处理您的存储库,您可以使用以下命令检索对远程存储库所做的最新更改: git pull 如何检查Git跟踪的远程分支: 这个命令显示了Git正在跟踪当前存储库的所有远程分支的名称...使用这个命令可以找到远程存储库日志: git log origin/main 如何在Git中合并远程repo和本地repo: 如果远程存储库有你想要与本地合并的更改,那么这个命令会帮你完成: git merge

    1.8K10

    【翻译】monorepos 的优点

    原因1: 简化组织 使用多个代码仓库的情况,最典型的情况要不是每个存储库有一个项目,要不就是每个存储库有一组相关项目,但这会迫使您定义特定团队或公司的“项目”,并且有时因为某些原因会迫使您拆分和合并仓库...虽然在多个存储库中想建立一个开发环境在技术上是可能的,但这并不自然,这意味着必要的工作不会经常完成。...在某种程度上,Maven 和 sbt 非常好,但花费大量时间跟踪和修复版本依赖问题并不少见。像 rbenv 和 virtualenv 这样的系统试图回避这个问题,但它们导致了开发环境的激增。...如果我不得不等待 C 发布,然后是 B,然后我才能修复和部署 A,我可能还在等待。但由于所有内容都在一个 repo 中,我的同事可以进行更改并提交,然后我可以立即进行更改。...但其中很大一部分是因为 git 和 hg 在多个方面(例如,更好的合并)更胜一筹,而不是因为拥有小的 repos 本身就更好。

    1.6K30

    Git中的命令和操作

    提交内容 它是指在给定时间记录存储库的快照。除非明确完成,否则已提交的快照将永远不会更改。让我解释一下commit如何与下图一起工作: ?...我想一次提交目录中的所有更改。请参考下面的快照: ? 该命令将提交工作目录中所有更改的快照,但仅包括对跟踪文件的修改,即,在历史记录中的某个时刻使用git add添加的文件。...pull 命令git pull将更改从远程存储库提取到本地存储库。它合并了本地存储库中的上游更改,这是基于Git的协作中的常见任务。...这将把更改从本地存储库提取到远程存储库,以及所有必要的提交和内部对象,在目标存储库中创建一个本地分支。 让我向您演示一下 ?.../repo.bundler master 这会将master分支推送到仅包含在文件中而不是存储库中的远程分支。

    1.8K10

    如何使用 Git:参考指南

    Git备忘单 介绍 开发人员和开源软件维护人员团队通常通过 Git(一种支持协作的分布式版本控制系统)管理他们的项目。 此备忘单样式指南提供了对在 Git 存储库中工作和协作有用的命令的快速参考。...,但确定要删除它,则可以强制 删除分支: git branch -D branch-name 协作和更新 要从另一个存储库(例如远程上游)下载更改,您将使用 fetch: git fetch upstream...无论文件重命名如何,这都遵循文件: git log --follow my_script.py 显示在一个分支上而不是在另一个分支上的提交。...在您自己的存储库上工作时要谨慎使用,并在合作时努力避免这种情况。...,让它看起来像当前的上游主分支(也就是冲突太多),你可以执行硬重置: 注意 :执行此命令将使您的本地存储库看起来与上游完全一样。

    1.3K30

    如何使用Git:参考指南

    介绍 开发人员和开源软件维护人员团队通常通过支持协作的分布式版本控制系统Git来管理他们的项目。 这个备忘单样式指南提供了对在Git存储库中工作和协作有用的命令的快速参考。...如何使用本指南: 本指南采用备忘单格式,包含自包含的命令行代码段。 跳转到与您要完成的任务相关的任何部分。...当您在本指南的命令中看到highlighted text时,请记住,此文本应引用您自己的存储库中的提交和文件。...git add my_script.py 有了.你可以在当前目录中包括了.开头的文件添加的所有文件。 git add . 您可以从暂存中删除文件,同时用reset保留工作目录中的更改。...在处理自己的存储库时谨慎使用,并在协作时避免这种情况。

    1.4K94

    Argo CD 实践教程 05

    为了使用GitOps的好处,建议不要直接推动更改,而是通过拉请求进行更改,以便进行同行评审。 2.在存储库中,创建一个名为资源的新文件夹。...首先,我们必须在存储库中创建一个名为argocd-app.yaml的文件,其中包含以下内容。...在,像往常一样,我们必须用这两个文件创建一个git提交,然后将其推到远程,这样Argo CD就可以看到新的版本并将更改应用到安装中。...在包含以下内容的补丁文件夹中创建一个名为argocd-repo-server-deployment.yaml的新文件,其中已经为存储库服务器设置了3个副本,并且为模板超时设置了3分钟: apiVersion...文件,以便它包含对我们刚刚在补丁文件夹中创建的新文件的引用(我在这里添加了补丁策略合并部分,其中包括更改,而不是文件的全部内容): patchesStrategicMerge: - patches/argocd-cm.yaml

    53720

    📦 Size Limit: 从开源项目学习如何为你的业务增加检测报告

    workflow 在 Github 仓库中可以通过 .github/workworks 目录中进行定义,比如在 AntDesign 的存储库中 即通过多个 yml 文件定义了多种不同的工作流程。...我在这里新建一个空的 Repo,这个 Repo 仅仅在 package.json 中配置了: // ... "size-limit": [ { "path": "....我们可以直观的通过 size report 来看到本次 pullrequest 的中关闭文件体积的变化,接下来我们就来聊聊如何实现 AntDesign 中一模一样的功能。...脚本来和大家在自己的仓库中稍微把玩一下我们自己的 size-limit 流程。...笔者也同样在自己公司中通过 SizeLimit Action 实现了一套类似的流程: 这里我就不在赘述如何在 Gilab 中这一套的实现流程,实际上完全和文章中上述的代码实现思路一模一样。

    11710

    20个你(可能)不知道的Git命令

    Git Archive 使用git archive把整个版本库合并成一个文件 当分享或备份一个版本库时,通常倾向于将其存储为一个单一的文件。...使用 git archive 将包括所有的 repo 历史,所以它可以很容易地被提取回它的原始形式。该命令还包括很多额外的选项,所以你可以准确地定制哪些文件包括在归档中,哪些不包括。.../my-archive HEAD Git Submodules 使用git submodule将任何其他仓库拉入你的仓库 在git中,submodules 让你把一个版本库装入另一个版本库,通常用于核心依赖关系或把组件分割成独立的版本库...运行下面的命令将把一个模块拉到指定的位置,同时创建一个.gitmodules文件,这样当 repo 被克隆时就会一直下载它。使用 --recursive 标志,在克隆 repo 时包括子模块。...git blame -L 400,420 index.rs Git LFS 使用git lfs存储大文件,不拖累你的 repo 通常你的项目会包含较大的文件(如数据库、二进制资产、档案或媒体文件),这将拖慢

    87340

    Git 中文参考(一)

    rmHints 如果 git-rm [1] 的输出失败,请显示如何从当前状态开始的指示。 addEmbeddedRepo 当你意外地在另一个内部添加一个 git repo 时该怎么做的建议。...fetch.negotiationAlgorithm 控制在协商服务器发送的包文件的内容时如何发送有关本地存储库中的提交的信息。....revUnmerged 在 revPrompt 子菜单中仅显示未合并的分支。...在这样的存储库中,Git 可以在执行合并之前将提交中记录的数据转换为规范形式,以减少不必要的冲突。...仅包含未跟踪文件的目录仅显示目录名称。显示未跟踪的文件意味着 Git 需要 lstat()整个存储库中的所有文件,这在某些系统上可能很慢。因此,此变量控制命令如何显示未跟踪的文件。

    29720

    Git还能这样用?一文看懂Git最佳实践!

    Repo 里的文件(也就是目录里的)图标上会覆盖上状态。右键点击这个目录,菜单里可以看到 TortoiseGit 的子菜单,包含 git 的一些操作。...是我在2018年左右提出了这个问题,并且要求他们修改,还提供了多个图片解释它们到底有什么区别。过了大概半年之后才改成对的。但很多人就是从那里学的 git,都被带坏了。)...在 LFS 里,默认子保存一个版本的大文件,历史则放在另一个端点,一般是服务器。...但历史里面的没法改,一旦提交了,大文件就会永远在那边。除非用我的另一篇文章提到的方法来精简。通过那样的方法过滤 git 库,删除不小心提交的大文件非常痛苦。...实际上 meta 和 google 也一直在等待着 git 能更好地支持单一巨型库,并时不时尝试从自己开发的系统里切换过去。 但是随着时间的发展,总会有更多改进被合并到官方的 git 去。

    98831

    Git最佳实践,这样用就对了

    Repo里的文件(也就是目录里的)图标上会覆盖上状态。右键点击这个目录,菜单里可以看到TortoiseGit的子菜单,包含git的一些操作。...通过这个查看器,可以很方便地看出来repo是怎么成长的,有那些不必要的分支,如何从一个分支跳到另一个,等等。这是TortoiseGit比其他git UI好的一个重要原因。...一般来说,中等大小的团队,专注于repo的某一部分,可以采取这样的分支形式。小团队或者个人没有必要有自己的develop分支。那样反而会浪费时间和增加合并过程中的风险。...这是两种”合并“的方式。第一种是普通的合并,和传统的VCS一样。它会把一个分支合并到目标分支,在顶上建立一个commit用来合并,两个分支里已有的commit不会有变化。 另一个就是rebase。...是我在2018年左右提出了这个问题,并且要求他们修改,还提供了多个图片解释它们到底有什么区别。过了大概半年之后才改成对的。但很多人就是从那里学的git,都被带坏了。)

    1.1K24

    Git 中文参考(四)

    如果如果未给出,则使用源存储库的规范部分(“repo”表示“/path/to/repo.git”,“foo”表示“host.xz:foo / .git”)。...如果子模块未初始化,则每个 SHA-1 可能以-为前缀,如果当前检出的子模块提交与包含存储库的索引中找到的 SHA-1 不匹配,则+和U如果子模块有合并冲突。...如果指定了--force,则子模块将被检出(使用git checkout --force),即使包含存储库的索引中指定的提交已经与子模块中检出的提交匹配。...运行更新时(仅对结帐过程有效),在切换到其他提交时,丢弃子模块中的本地更改;并且始终在子模块中运行 checkout 操作,即使包含存储库的索引中列出的提交与子模块中签出的提交匹配也是如此。...父/子关系仅在--parents中可见,但这不会影响在默认模式下选择的提交,因此我们显示了父行。

    21510

    GitHub为什么托管不了Linux内核社区?

    而项目的总体负责人,则需要通过一系列脚本、git 子模块甚至是大量 repo 协同才能完成自己的本职工作。...这也让我不禁想到,git 为什么要采用 pull request 这种结构设计:在 GitHub 上,pull request 可以说是贡献者提交开发成果乃至合并更改的唯一认证途径。...虽然 Linus 对于上游应用来说可以算是最稳定的内核选项之一,但大多数用户实际上是在自己的发行版中运行内核,因此所需要的内核通常还包含其他补丁程序与反向移植代码,甚至并未被托管在 kernel.org...大家只需要更改代码即可,所有代码都将存储在同一 repo 当中。另外,这也是一种远比拆分 repo 更为强大的治理模式:对于破坏性重构,大家仍可将其强制分发至多个发行版当中。...这方面还存在与 UI 相关的问题:对于指向不同分支的 pull request,其对应的补丁列表也可能有所区别。但这不一定就是用户的错,同一套 repo 中往往也已经合并了多项补丁。

    1.5K30

    Git 中文参考(五)

    分支的尖端由分支头引用,其在分支上进行额外的开发时向前移动。单个 Git 存储库可以跟踪任意数量的分支,但您的工作树只与其中一个(“当前”或“已检出”分支)相关联, HEAD 指向那个分支。...superproject 存储库,它将工作树中其他项目的存储库作为子模块引用。超级项目知道所包含的子模块的提交对象的名称(但不包含其副本)。...在 Git 调用钩子之前,它将其工作目录更改为裸存储库中的 GIT_DIR 或非裸存储库中工作树的根。...之后,Bob 可以使用 Alice 的最新更改来更新他的回购 bob$ git pull 请注意,他不需要提供 Alice 的存储库的路径;当 Bob 克隆了 Alice 的存储库时,Git 将她的存储库的位置存储在存储库配置中...补丁工作流程 如果您是以电子邮件形式向上游发送更改的贡献者,您应该像往常一样使用主题分支(参见上文)。

    22210
    领券