本文转自:http://msdn.microsoft.com/en-us/library/ms181432.aspx

An advantage of using Team Foundation version control to manage your files is that several people can work concurrently on a file. One drawback is that sometimes you must resolve conflicts before you can get, check in, unshelve, merge, or roll back your files.

Although it can be frustrating to encounter conflicts, the system provides information and tools to help you understand and resolve conflicts.

Resolve conflicts


              

Use the Resolve Conflicts window to resolve conflicts that are blocking you.

By default, the window shows only the conflicts caused by the most recent operation you attempted. When the window is in this state, a message appears that begins: Path filter applied. To show all conflicts in your workspace, choose Get All Conflicts.  A message that begins with: n Conflict(s) appears.

If a lot of time has passed since you made changes to files in your workspace, new conflicts might have occurred. To refresh the Resolve Conflicts window, choose Refresh.

Each conflict contains information and sometimes links that might help you resolve it. To get more information, you can select the conflict and choose:

  • History to see the history of the file. If the operation that caused the conflict is a Merge or a Rollback, then you can choose the menu control to the right of History and then select either Source History or Target History.

    See Get the history of an item.

  • Annotate to view details on all changes that were made to the most recent version of the file, including who made each change and when they made it. See View file changes using annotate.

  • Compare (or the menu to the right of the button and then choose a command). The Diff window appears.

AutoResolve all conflicts


              

By default the system automatically attempts to AutoResolve All conflicts unless you have turned off this option (see Tips). In the Resolve Conflicts window, you can also manually choose AutoResolve All, and then choose:

  • Select All Conflict Types if you want the system to attempt to resolve the conflicts automatically by using all its heuristics.

  • Select Specific Conflict Types if you want the system to attempt to resolve the conflicts, but you want to exclude some heuristics.

    The Choose Conflicts to Resolve dialog box appears. Check or clear the options that you want to enable or disable, and then choose AutoResolve. For more information, see Understand the automatic options below.

The system attempts to automatically resolve the conflicts displayed in the Pending Changes window. Any conflicts the system was unable to resolve will remain in the window. You have to manually resolve these conflicts.

AutoMerge a single conflict


              

Choose AutoMerge if you want to try to resolve selected conflicts using all the AutoMerge options described in Understand the automatic options below.

                     Tip                  

You can press and hold either the Ctrl or the Shift key and then select multiple conflicts.

                     Note                  

If AutoMerge is disabled, then this conflict must be manually resolved.

Manually resolve a single conflict


              

If the system cannot automatically resolve a conflict, or if you want to make sure you understand what is changing, you must manually resolve the conflict. Within each conflict, the system displays the actions that you can take to resolve the conflict. The actions displayed depend upon the conflict type, and the operation that caused the conflict.

Merge changes in merge tool


                  

When a conflict is caused by conflicting content changes, you can choose Merge Changes in Merge Tool.

When you choose this action, the Merge window appears.

The outcome of your work to resolve the conflict is shown in the Results pane.

In this window you can:

  • Select the layout of the window: Vertical View, Horizontal View, Mixed View.

  • Navigate among the differences and the conflicts.

  • Select items from the left and right versions of the file to include them in the result.

  • Type additional content into the file in the Result pane.

  • View the History of the file. See Get the history of an item.

  • Compare the various versions of the file.

  • Annotate the file to see who changed what. See View file changes using annotate.

When are satisfied with the contents of the Result pane, choose Accept Merge.

Understand the automatic options


              

In special cases, you may want to restrict the types of conflicts automatically resolved by the AutoResolve All option.

When you choose AutoResolve All, and then Specific Conflict Types, the Choose Conflicts to Resolve dialog box appears.

 

If you want the system to automatically resolve conflicts that occurred because…

As explained in this example…

Then select this check box…

Non-conflicting content changes were made in each version of a file

In the file version on the left, a zero was added at the beginning. In the file on the right, a three was added at the end:

                  

Conflicts with any content changes

Content changes were made that are unique to the workspace (during get or checkin operation) or target version (during merge or rollback operation)

four and five were added to the workspace or target version:

                  

Conflicts with content changes made only in the local workspace or target branch

Content changes were made that are unique to the server (during get or checkin operation) or source version (during merge or rollback operation)

four and five were added to the server or source version:

                  

Conflicts with content changes made only in the server version or source branch

A file on the server (during get or checkin operation) or in the source branch (during merge or rollback operation) was renamed

You checked out a file that is named launch.cs and worked on it. During that time, someone else checked in a changeset that affected the same file. That changeset did not modify the contents of the file, but it did change the name of the file to start.cs.

Conflicts caused by renaming file in the server version or source branch

  • Common content changes were made that resulted in identical content in each version

  • You changed a file, checked it in through a Gated Check-in build, and selected the Preserve my pending changes locally option

Changes to each version resulted in identical file content. The changes can be to the content in the files, as shown in the following example:

This option also resolves conflicts that are caused by all other operations (for example, rename, delete, undelete, and branch) and that result in identical files.

                             Tip                          

If you select this check box, when you proceed, the system will resolve these changes by taking (downloading) the server version onto your workspace.

Conflicts caused by identical change in the server and workspace

Work from the command prompt


              
Tips


              

  • By default the system automatically attempts to AutoResolve All conflicts. To change the option, from the menu bar choose Tools, Options, and then in the Options dialog box, navigate to Source Control, Visual Studio Team Foundation Server. Clear the Attempt to automatically resolve conflicts when they are generated checkbox.

  • Does your team need to collaborate to resolve a large number of conflicts (for example, which might occur after merge operation in a large codebase)? If so, a public workspace on a shared dev machine might help. See Create and work with workspaces.

[转]Resolve Team Foundation Version Control conflicts的更多相关文章

  1. 在Team Foundation Server (TFS)的代码库或配置库中查找文件或代码

    [update 2017.2.11] 最新版本的TFS 2017已经增加了代码搜索功能,可以参考这个链接 https://blogs.msdn.microsoft.com/visualstudioal ...

  2. TFS文件编码检查机制和修改(Team Foundation Server 2013)

    TFS的版本控制系统会自动按照下面的标准检测代码文件的编码格式: 1. 首先,如果代码文件包含了BOM部分,则使用BOM中制定的编码格式打开文档 什么是BOM (Byte order mark)? h ...

  3. diff/merge configuration in Team Foundation - common Command and Argument values - MSDN Blogs

    One of the extensibility points we have in Team Foundation V1 is that you can configure any other di ...

  4. [工具.tfs]可视化的TFS命令工具——Team Foundation Sidekicks

    工具介绍:http://www.attrice.info/cm/tfs/index.htm Team Foundation Sidekicks is a suite of tools for Micr ...

  5. 使用 Team Foundation 版本控制命令

    使用 Team Foundation 版本控制命令 Visual Studio 2013   其他版本 Visual Studio 2010 Visual Studio 2008 Visual Stu ...

  6. How to delete a team project from Team Foundation Service (tfs.visualstudio.com)

    C:\project>tfsdeleteproject /collection:https://buckh-test2.visualstudio.com/DefaultCollection Te ...

  7. Team Foundation Server 2013 with Update 3 Install LOG

    [Info   @10:14:58.155] ====================================================================[Info   @ ...

  8. 初探Team Foundation Server (TFS) 2015 REST API

    REST是一种简洁方便的Web服务,通过基于http协议的远程通信,可以为多种客户端程序提供远程服务,大幅提高了服务器系统的可扩展性. 微软宣布从Team Foundation Server 从201 ...

  9. TF255466: Team Foundation Server 的配置过程无法继续。以前的更新或安装需要重

    在验证是否可以安装 SharePoint 时的提示,Error [ System Checks ] TF255466: The configuration process for Team Found ...

随机推荐

  1. 深入浅出AOP(一)

    动态代理实现AOP: AOP事实上非常早之前依照做出来了一些东西,之所以不敢说做出来了.是由于它是什么?怎么实现?做出来的东西是不是?先前一直查资料.查到的资料跟着做.到后来发现,AOP越来越大,而非 ...

  2. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  3. Spring中注解

    @Autowired :spring注解 @Resource :J2EE注解 @Transactional(rollbackFor=Exception.class):指定回滚 @RequestMapp ...

  4. Navicat for MySQL中文破解版免费下载

    不知道用过MySQL workbench数据库的朋友或站长有没有都遇到过这样的问题? 就是用ssh的连接方式连接数据库的时候,第一次可以连接的上,但是第二次就不行了,以后再用workbench就再也连 ...

  5. 我的kindle书单

    刚刚入手kindle,希望能够持续阅读,不断进步. 列下书单,记录我的阅读足迹,更希望园友若有好书多多推荐,互相交流. # keep updating ... 我的kindle书单 book name ...

  6. inter 也支持linux开发了

    http://www.intel.cn/content/www/cn/zh/intelligent-systems/bay-trail/atom-processor-e3800-family-over ...

  7. Java SE之break和continue标签

    文是学习网络上的文章时的总结,感谢大家无私的分享. Java没有提供goto功能,可是保留了gotokeyword. 在java中能够使用break标签和continue标签功能实现简版的goto功能 ...

  8. PL/SQL Developer导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...

  9. nhibernate实体类主键ID赋值问题

    有个同事忽然来找我,说他遇到了一个问题,在调用nhibernate 进行update数据的时候报错,说是有数据行锁定. 看代码,没啥问题. 直接在PL/SQL developer里对数据库进行插入,也 ...

  10. setTimeout不可靠的修正办法及clearTimeout

    javascript里的这两个定时器函数,大家一定耳熟能详: setTimeout("函数()",毫秒)就是开启一个计时器,指定毫秒后执行该函数一次. 有关定时器,javascri ...