Version control TFS 2012检查分支是否已合并

Version control TFS 2012检查分支是否已合并,version-control,branching-and-merging,Version Control,Branching And Merging,我最近从Mecurial转到TFS 2012,负责源代码管理。到目前为止,我真的很喜欢它,但我只是停留在一个方面,所以我希望有人在这里可以帮助我 假设我有一个叫做“Main”的分支,然后我从这个分支开始,称它为“feature1”。我可以在“功能1”中进行修改,然后在这一点上,Mecurial将画出一个岔路口 如果我将我的“功能1”更改合并到“Main”中,那么Mecurial将在视觉上再次加入fork。然后我可以对“功能1”进行更多的修改,这将导致另一次分裂,再次,Mecurial将给我这个的

我最近从Mecurial转到TFS 2012,负责源代码管理。到目前为止,我真的很喜欢它,但我只是停留在一个方面,所以我希望有人在这里可以帮助我

假设我有一个叫做“Main”的分支,然后我从这个分支开始,称它为“feature1”。我可以在“功能1”中进行修改,然后在这一点上,Mecurial将画出一个岔路口

如果我将我的“功能1”更改合并到“Main”中,那么Mecurial将在视觉上再次加入fork。然后我可以对“功能1”进行更多的修改,这将导致另一次分裂,再次,Mecurial将给我这个的视觉表现

我在TFS中也尝试过同样的方法,虽然实际的分支和合并非常容易,但很难解决的是“功能1”中的最新更改是否已合并到“Main”中,或者是否有未完成的更改要合并

“Track Changeset”功能很接近,它会让我知道“feature 1”在某个时候已与“Main”合并,但如果“feature 1”自上次合并后已被修改,它不会显示

简单地说,我要问的是,“如何判断分支自上次与父级合并以来是否有任何更改?”


也许我只是停留在Mecurial过去做事的方式上,但我真的非常感谢对上述问题的帮助或指导。

据我所知,没有任何简单的视觉指示器来显示这一点(尽管如果有,那将是非常棒的)。我相信“跟踪更改集”或只是简单的比较是您唯一的选择。

更新:

TFS中没有可视指示器,但“TF.exe Merges”命令是最接近该特定功能的命令。TF.exe Merges+Track Changeset+View History将帮助您实现这一点

格式: tf合并[source]目标[/recursive][/extended][/format:[brief | deltailed][/login:username[密码][/showall]]][/collection:TeamProjectCollectionUrl]

打开visual studio命令提示符并键入tf.exe merge/?更多细节

例如:

tf.exe合并/递归C:\projects\Main C:\projects\Dev

Changeset   Merged in Changeset   Author     Date
> --------------------------------------------------------   
135         162                   user1     4/13/2013 

146         162                   User2     5/16/2013 

147        167                   User1     6/18/2013
当您运行此命令时,您将获得从主分支合并到开发分支的最后一个变更集。注意合并的最后一个变更集编号(本例中为147)。您可以返回到主分支->查看历史记录,并检查主分支中147之后是否添加了任何新变更集。在这种情况下,您将不得不进行合并,否则不会

有道理吗

还有一件事,例如,我建议强制执行合并的开发人员在合并期间使用特定格式的签入注释

"******MERGE****** Source branch name, the last changeset etc". 
这也会有帮助,但不要指望它,因为人们可能不会这样做或会犯错误


真是太遗憾了。据我所知,这是TFS唯一真正的缺点。谢谢你的回复-我仍然不知道如何确保合并后没有进行任何更改。你能解释一下我如何使用上面的例子进行更详细的检查吗?谢谢