TFS中的分支和合并

时间:2017-12-29 12:56:41

标签: tfs branching-and-merging tfvc

在我的SSIS项目中,我在TFS中创建了一个MAIN文件夹,然后在Main中出现的同一个包中创建了2个分支(Dev1和Dev2)。 我在Dev2和Dev2中的其他更改中做了一些更改。现在,当我尝试合并Main中的两个SSIS包时,它会给出错误(合并时发生冲突)。我只能将一个Dev包与MAIN包合并。一旦我尝试将第二个Dev包与Main合并,就会显示冲突错误。

       -------                  Dev1 
      /       \
 ------------------------       Main
      \               
       -------------            Dev2

1 个答案:

答案 0 :(得分:3)

在单独的分支中进行并行开发时,冲突解决是一种常见的活动。之所以发生这种情况,是因为对同一组(一组)文件进行了更改,并且这些更改已经达到同一段代码。

SSIS使这个问题变得更大,因为它倾向于改变文件中的事物顺序,有时会为工作流中已有的活动生成新的GUID。发生这种情况时,它会在文件的几乎所有位置引起很多变化。

要解决冲突,您必须选择显示冲突的每个文件,并通过团队资源管理器遵循冲突解决流程。当您选择要解决的冲突时,编辑器将显示两个不同的版本(一个显示Dev2,一个显示Main(包括Dev1的更改))。您需要手动选择要保留的代码段以及如何合并文件。

不幸的是,没有图形表示,所以你需要非常熟悉内部文件格式才能不犯错误。完成合并后,您可以先在本地测试更改。如果它们已成功合并,您可以签入更改,如果您犯了错误,只需撤消所有挂起的更改并再次执行合并过程。

complete steps to perform merges are documented hereBI Developer Extensions为Visual Studio提供了额外的功能,使您可以更轻松地使用版本控制。 Especially SmartDiff can save your hide in cases where SSIS has regenerated the file structure