Sim*_*ely 2 .net c# tfs visual-studio-2010 visual-studio
我最近读到了搁架,并认为这是一个非常有用的概念.所以,下次有人带着我的应用程序中的错误来找我时,我搁置了我正在做的大量工作,修复了错误(对类进行了~30/40更改并进行了一些重构)并检查了修复码.
我现在想要取消我正在处理的代码,但保留我所做的更改.问题是,我对服务器上的文件进行了这些大量更改,这些更改尚未进入搁置.
我能在这做什么?似乎需要花费数小时/天才能再次合并所有内容.我知道Eclipse有一个很棒的功能,您可以比较两个文件,每个更改决定您是在服务器上使用该版本还是本地版本.我可以选择搁架中的版本或本地版本的东西是完美的.
有没有什么可以让我的生活更轻松,或者我注定要浏览搁置集,在每个冲突文件中,查看服务器版本,查看本地版本,将本地版本的部分复制到记事本文件中,将它们复制到服务器版本......等等.这似乎是一个可怕的混乱.
谁能帮我吗 ?
你应该不会被要求选择只有服务器版本或本地版本.您应该能够使用您习惯的3向合并工具来解决冲突.
听起来你在这里遵循推荐的做法:
如果您当时要取消搁置现有的搁置集,那么您的更改将再次针对版本2,这意味着当您的更改与最新版本挂钩时:

可以理解,这意味着你有冲突.当您执行Get Latest或Checkin时,您将能够解决这些冲突.这些应该显示在Visual Studio底部的视图中:

如您所知,有服务器版本和保留本地版本的选项.但是你也应该有机会使用AutoMerge(如果更改可以自动修改,即你没有在服务器和本地文件中都有变化的文件区域)和Merge Changes In Merge Tool(这将是打开3向合并工具.)
如果选择合并工具中的合并更改,您将获得内置的3向合并工具:

如果你不喜欢内置3路合并工具(我不喜欢在2010年包括一个,VS 2012包括很多更好的体验),你可以在任何3路合并工具插件在Visual Studio选项:

如果完全缺少Merge In Merge Tool中的选项,则TFS可能认为您正在处理二进制文件.在TFS中,当文件被标记为二进制时(更准确地说,当"文件合并"设置为"已禁用"时),您将不会选择自动注释这些文件,或者将它们合并到合并工具中.这是一个优化,以避免在冲突期间下载两个额外的大型二进制文件副本,并避免尝试将它们塞进合并引擎.
您可以通过打开Team Explorer,右键单击Project Collection并选择Team Project Collection Settings> Source Control File Types来配置"不可合并"的文件类型...确保列出您正在使用的文件类型在此对话框中为"可合并":

| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |