【发布时间】:2010-10-20 15:58:36
【问题描述】:
Git 项目中有第二个项目,其内容正在独立处理。
子模块不能用于较小的模块,因为当用户尝试克隆或下载“父”时,即使是子项目也必须包含在内。
不能使用子树合并,因为子项目正在积极开发中,并且子树合并使得将这些更新合并回原始项目非常困难。
我被告知该解决方案在 SVN 世界中被称为“供应商分支”,而且它在 Git 中非常简单,甚至不需要寻址。 网络上的半生不熟的教程比比皆是。
不过,我似乎无法让它工作。
请有人(非常好?)解释一下我如何创建一个结构,使一个项目存在于另一个项目中,并且两者都可以从同一个工作目录进行开发和更新。 理想情况下 [或者更确切地说:如果不受支持,这非常重要] 当客户端尝试下载“父”项目时,应该自动为他提供子项目的最新版本。
请不要向我解释我应该如何使用子模块或子树合并甚至 SVN:Externals。此线程是the following SO thread 的产物,如果那里遗漏了什么,请务必将其发布在那里。该线程正在尝试获取 了解如何为 Vendor 分支,以及越长、越清晰、越愚蠢的解释,我会越快乐。
【问题讨论】:
-
刚刚根据您的评论添加了一些想法:如果不能完全解决问题,请随时进一步完善
-
刚刚对您的要求添加了进一步的想法,但仍然没有明确的答案。很抱歉。
-
红宝石? Git 与 ruby 无关……它是为 Linux 内核设计的。 Git bash 在我使用 Win32 系统的罕见日子里一直对我很好。
-
这是话题……你一直在争论 git 与 ruby 相关联。它不是。 Rail 不是红宝石。
-
您所描述的不是供应商分支。供应商分支是您维护第三方产品的自定义版本的地方,第三方仅向您提供源代码,而不是对其存储库的访问。当您收到来自第三方的更新时,您将其提交到您的供应商分支,然后将他们的更改合并到您的主分支中。
标签: git version-control branch vendor-branch