【问题标题】:Managing a git with sub repositories使用子存储库管理 git
【发布时间】:2013-12-06 21:34:33
【问题描述】:

我正在将一个 git repo 与一堆代码放在一起,并注意到我希望在我的 repo 中提供的大部分代码都可以从其他 Git 源获得。我已经对子模块和子树进行了大量阅读,但我不确定哪个最适合我的用例。

我的 git repo 将有许多文件夹、脚本等,我想从远程存储库中获取最新代码。

理想情况下,如果我自己或社区中的某个人想要为远程 git 控制的文件夹中的代码制作和更改并提交补丁,他们可以在该文件夹下工作并提交补丁,而不会影响我的 repo。

我还希望用户能够将补丁提交到我的脚本/文件的仓库,而不会因子模块/子树等而导致很多心痛。

关于首选解决方案的建议?子模块、子树或其他?

这是示例布局。

文件夹 1

---------子文件夹1.1

Folder2

文件夹 3

---------SubFolder3.1

【问题讨论】:

    标签: git github


    【解决方案1】:

    我希望在我的存储库中提供的大部分代码都可以从其他 Git 来源获得
    我想从远程仓库获取最新的代码。

    子模块似乎是最合适的,尤其是自 a submodule can follow the latest commits from a given branch 以来。
    但既然你要提交补丁,那就意味着你必须首先:

    • fork 存储库
    • 将 fork 作为子模块添加到您的项目中。

    这样,您可以:

    • 在该子模块中创建一个专用分支,
    • 进行新的提交
    • 把这些推到你的叉子上
    • 从那里发出拉取请求

    子模块的唯一复杂性是要记住,子模块内的任何修改都意味着您必须返回父 repo,添加、提交和推送代表您修改的子模块的 special entry 的新 SHA1。

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 2022-08-03
      • 2010-10-23
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 2011-12-20
      • 1970-01-01
      相关资源
      最近更新 更多