代码之家  ›  专栏  ›  技术社区  ›  las3rjock

维护开发分支,其中一个分支是另一个分支的子集

  •  3
  • las3rjock  · 技术社区  · 15 年前

    背景 :我继承了一些matlab代码来分析我的博士研究数据。为了帮助我更好地理解代码,我已经将代码缩减到运行示例测试用例代码所需的最小文件子集。

    问题 :我要将此代码作为两个分支提交到版本控制系统,a master 包含所有代码的分支,以及 minimal 分支包含我的精简版代码,并且能够在这些分支之间来回合并更改。我怎样才能做到这一点?

    我更愿意在Git或Mercurial中使用一个工作目录和命名的分支,但我愿意接受其他建议。

    编辑 :我想我已经看到了这些行前面的堆栈溢出问题, 我刚找到它: Pushing updates to a pruned Mercurial branch .在 对已接受答案的评论,它是 提到了“我是什么”这个词 尝试做的是“狭隘的克隆”,而且 这对两个Git都是在进行中的工作 和汞。

    1 回复  |  直到 7 年前
        1
  •  4
  •   Martin v. Löwis    15 年前

    Git和Mercurial都应该工作正常。创建主分支,然后将其复制到最小分支,然后除去最小分支,使其看起来像您已经拥有的实现(删除所有额外的文件,复制已更改的文件)。

    从那时起,在分支之间使用常规的合并命令。最好主要从最小分支合并到主分支。另一种方式的合并更可能会让您抱怨合并失败(有冲突),因为有些文件适用于已删除的文件/已删除的函数。