合并OrtoiseSVN/分支机构实践中的特定文件

合并OrtoiseSVN/分支机构实践中的特定文件,svn,version-control,tortoisesvn,Svn,Version Control,Tortoisesvn,我有一个个人分支,我同时处理多个功能。完成一项功能后,我想将相关文件合并回主干,但我不知道如何合并。Merge将单方面合并所有内容,如果我想要任何粒度,我必须一次一个文件地通过接口流 我尝试使用修订图来比较分支和主干,让我从更改中选择相关文件,但从统一的差异创建补丁不包括任何新文件 “合并修订范围”也不是很有用,因为我对个人分支的许多承诺都包含了对不同功能的工作,因为我在多台机器上工作,必须确保我所做的一切都是承诺的、完整的或不完整的 我只是做错了吗?我应该为每一个功能都添加一个新的分支吗?我觉

我有一个个人分支,我同时处理多个功能。完成一项功能后,我想将相关文件合并回主干,但我不知道如何合并。Merge将单方面合并所有内容,如果我想要任何粒度,我必须一次一个文件地通过接口流

我尝试使用修订图来比较分支和主干,让我从更改中选择相关文件,但从统一的差异创建补丁不包括任何新文件

“合并修订范围”也不是很有用,因为我对个人分支的许多承诺都包含了对不同功能的工作,因为我在多台机器上工作,必须确保我所做的一切都是承诺的、完整的或不完整的

我只是做错了吗?我应该为每一个功能都添加一个新的分支吗?我觉得我会有一打和一个噩梦的时间建设他们所有。我是否应该微观管理我的分支机构,以确保每个功能都被分离出来供以后选择?我想,我不能对此提出强烈反对,我只是被缺乏合并特定文件的明显功能弄糊涂了

我只是做错了吗

如果“它”是您的“分支策略”,那么-是

如果“这”是您的“分行发展政策”,则-是

我应该为每一个功能都添加一个新的分支吗

也许吧,但“这取决于”至少来自:并行分支的数量、每个此类分支的生命周期、您的合并习惯(开发期间的累积合并或完成功能的“大爆炸”合并),因此-我不能给您明确的答案(tm)

如果您在共享分支中遵循“每个任务分支”策略或至少遵循“每个任务提交”策略,您的头痛就会少一些。至少在某种程度上,合并是可以管理的

无论如何,您必须阅读,注意子树和合并:

  • 若在公共分支中有每个任务的提交,那个么只需收集分支中与功能提交相关的所有内容,然后将这些子集分别挑选到主干中
  • 对于每个任务的分支,您将使用普通的合并到主干中,但是跨分支合并会带来很多合并地狱(从长远来看,这是一个真正的痛苦)
现在你只有一种方法:用大量的手工将子树和樱桃树混合起来:

  • 收集与功能相关的文件列表
  • 收集与功能相关的修订列表
  • 子树在同一命令下将p.1中的每个文件与p.2中的cherrypicking修订合并(无论如何,对于每个特征,您将有多个合并,因为对于源树的每个独立部分,必须“为特征X合并文件N…”)