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

4

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

问题:我想将此代码提交到版本控制系统作为两个分支,一个master分支包含所有代码,另一个minimal分支包含我精简版本的代码,并能够在这些分支之间进行更改合并。我该如何做到这一点?

我更喜欢在Git或Mercurial中使用单个工作目录和命名分支来完成此操作,但我也可以接受其他建议。

编辑:我认为我以前看过一个类似的Stack Overflow问题,现在我找到了它:向已修剪的Mercurial分支推送更新。在接受的答案的评论中,提到了我正在尝试做的事情的术语是“narrow cloning”,并且对于Git和Mercurial来说,这是一个正在进行中的工作。

1个回答

4

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

从那时起,使用常规合并命令在分支之间进行合并。最好主要从最小分支合并到主分支。反过来合并更可能导致合并失败的投诉(有冲突),因为某些文件适用于已删除的文件/已删除的函数。


1
请注意,您还可以在单个存储库中进行两次初始提交,这将避免您有一个删除大量文件的提交,但另一方面会在您的初始提交之间产生冗余信息。 - Cascabel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接