gpt4 book ai didi

git - 如何管理两个链接的 GitHub 存储库

转载 作者:行者123 更新时间:2023-12-04 13:33:21 25 4
gpt4 key购买 nike

Repository 1 (R1) 是公共(public)的,包含 Ansible 角色(如果你不了解 Ansible,没关系,它基本上包含代码)。
存储库 2 (R2) 是私有(private)的,包含 Ansible 剧本(如果您不了解 Ansible,剧本基本上是来自 R1 的角色组合以做某事)。
现在,R2(私有(private))将 R1(公共(public))作为子模块。但是,我需要能够在 R2(私有(private))上创建分支,这些分支本质上是功能分支。问题是代码更改实际上需要在 R1(公共(public))上进行,但我无法分支 R1(公共(public))。
我可以让 R2(私有(private))成为 R1(公共(public))的分支,然后使用 pull 请求将更改 merge 回 R1(公共(public))吗?有没有更好的方法我没有考虑?

最佳答案

你可以 :

  • 前叉 R1 (至 R1fork)
  • R1fork 中添加您需要的功能
  • R1 上打开 PR要求在 R1fork 中整合您的添加内容
  • R2 , 使用 R1fork作为您子模块的 Remote
  • 如果 PR 被接受:您可以切换回 R1作为远程

  • 对于步骤 4. :
    从 git 2.25(2020 年第一季度)开始, git submodule已获得 set-url命令( see this VonC's answer ):
    git submodule set-url [--] <path> <newurl>
    如果由于某种原因您无法更新 git您在 git 的旧版本上使用,您必须编辑 .gitmodules文件(例如参见 Pavan Sokke NagarajJim Puls 的这两个答案):
    # edit your .gitmodules file : set correct 'url = ...' and 'branch = ...' to
    # R1fork's url and the target branch you wish to include

    # then run 'sync' and 'update' :
    git submodule sync --recursive
    git submodule update --remote --recursive

    关于git - 如何管理两个链接的 GitHub 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63674041/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com