【发布时间】:2010-10-11 09:44:44
【问题描述】:
不幸的是,我对 SVN 的工作原理并不完全清楚......
我有一个用于主要 Visual Studio C# 解决方案的主干和一个用于开发工作的分支。 时不时地,两者都需要更改,以便代码相同。我查看了合并向导,但它似乎没有描述这个问题。它似乎允许我合并特定的修订号,其中可能包含对其他文件的更改,而不是考虑基于每个文件的合并。
我该怎么做?
【问题讨论】:
标签: c# visual-studio svn ankhsvn
不幸的是,我对 SVN 的工作原理并不完全清楚......
我有一个用于主要 Visual Studio C# 解决方案的主干和一个用于开发工作的分支。 时不时地,两者都需要更改,以便代码相同。我查看了合并向导,但它似乎没有描述这个问题。它似乎允许我合并特定的修订号,其中可能包含对其他文件的更改,而不是考虑基于每个文件的合并。
我该怎么做?
【问题讨论】:
标签: c# visual-studio svn ankhsvn
可以对文件运行“合并”命令。您需要确保“Merge From”值指向正确分支中的文件(即指向具有您想要获取的更改的文件)。您会注意到合并向导将列出该文件的所有修订。您现在可以安全地选择修订版(可能包含对其他文件的更改),因为只有对文件的更改才会合并到您的工作副本中。
请记住在合并后构建/测试您的工作副本,然后将更改提交回存储库。
您还可以通过选择“所有符合条件的修订版”选项来利用“Merge Tracking”功能(在 SVN 1.5+ 中可用)。
我建议将 AnkhSVN 配置为使用外部合并工具(通过 Visual Studio 中的 Tools > Options > Source Control > Subversion User Tools)。
【讨论】:
最好的方法是在主干中进行更改,然后从主干合并到您的开发分支。
一个更复杂的版本(在编写此代码时确保您的主干安全)是从主干创建另一个分支来表示常见的“更改”(服务包分支)。进行更改并在服务包分支中测试它们,然后合并回主干。然后从主干向下合并到你的开发分支。
【讨论】: