【问题标题】:How to merge source code using TFS in VS 2012如何在 VS 2012 中使用 TFS 合并源代码
【发布时间】:2016-05-10 14:23:14
【问题描述】:
我有 NopCommerce 的源代码 3.50 版本,使用 TFS 进行源代码控制。为了满足客户的需求,我不得不对代码进行一些核心更改。现在我想利用 NopCommerce 3.70 版中的一些新代码。我不是 TFS 或源代码控制专家,所以我不知道如何解决这个问题。
我最初的想法:
- 将我当前的基本代码存储库转换为名为 3.50 的分支。
- 创建一个名为 3.70 的新分支并将新的源代码加载到其中。
- 将 3.50 合并到 3.70 并解决代码冲突。
这是正确的吗?
【问题讨论】:
标签:
visual-studio-2012
tfs
version-control
nopcommerce
【解决方案1】:
我建议你改写第 3 步。
或者重新评估您的策略。对于您所做的任何有意义的更改,我怀疑“合并然后解决冲突”过程是否简单或成功。
重要的是,我想更多的是“识别对 3.50 代码所做的更改并在 3.70 代码中重新创建它们”,而不是“将 3.50 合并到 3.70”
您可以遵循两种基本策略:
1) 查看您对 3.50 所做修改的 TFS 日志,了解每一项,然后针对 3.70 重新进行更改,一次一项。
2) 找出您的代码与您开始使用的 3.50 代码之间的总体差异。然后在 3.70 代码中重新创建这些更改。我会通过在其他地方获取 3.50 的新副本(或者再次下载它,或者从 TFS 服务器中的历史记录中删除)来做到这一点,并在原始 3.50 代码和当前副本之间进行树差异。 WinMerge 非常适合这类事情。
哪一个效果最好取决于您对代码所做更改的复杂性、更改步骤的数量以及文档的质量(需求、设计、代码 cmets、提交 cmets等)在此过程中创建。
因此,就分支而言,我会按照您的概述执行 1 和 2,但合并将是一种谨慎的手动方法,如您所说,进入 3.70 分支。