zoukankan      html  css  js  c++  java
  • TFS使用笔记

    1. TFS是用来存储文件的服务器,放置不同版本的文件。因此文件的数量和内容因版本不同而不同。

    在Fig-00中,服务器和本地的对应文件夹Common下的因版本不一致,所以文件数量是不一致的。

    Fig-00

    在下图Fig-01中,在本地的解决方案中,我们使用"显示所有文件"。相比TFS上的文件,发现缺少的3个文件是存在的,只是没有包含在当前项目当中。这也正 验证了TFS只存储文件本身,并不能体现项目文件的有效性。

    Fig-01

    1. 如何正确的编辑文件?

    我们来看一种不正确的做法的场景。

    问题场景:我们通过KT着手维护一个新的项目名字为Homeland,需要把项目的源代码从版本1.0升级到2.0。拿到最新的源代码后,配置管理人员小A直接通过复制、粘贴的方式,把Source Code V2.0放到本地映射的路径下面。结果拷贝完毕后,我们发现文件的标识还是蓝色的锁。此时小A需要把更新的Source Code V2.0上传到服务器上,他选中本地Solution文件,右键点击后选中"获取最新文件",如Fig-02所示,同时选中第二项"当本地文件跟TFS上的版本一致时,覆盖所有文件"。

    很显然服务器上是V1.0,本地是已经更新过的V2.0。如Fig-03所示系统检测到Log.cs文件在本地已经被更新过了。

    Fig-02

    Fig-03

    我们需要处理这个冲突,如图Fig-04所示,我们选择第一项"签出并自动合并",这意味着以本地的文件为主,保留差异,系统自动会签出对应的Log.cs文件,然后执行签入即可。

    这时候你会问"为什么不用签入呢",如果你这样操作过的话,你会发现这种情况下是没有签入动作的,因为你之前就没有执行"签出",何来签入呢?

    Fig-04

    正确的签入签出:

    1. 我们在编辑文件的时候,尽量操作单个文件,而不是像上文中描述的批量操作。
    2. 在更新文件的时候,一定记得先签出,然后再更新文件(包括上文中的覆盖文件的场景),最后再签入。
    3. 如果一定要从服务器上批量获取文件,建议勾选"Overwrite all files even if the local version matches the specified version."。

  • 相关阅读:
    关于SQL Server中的DateTime类型和C#中的DateTime类型的一点小记录
    强类型DataSet的使用简明教程2
    byte[]转string的感悟
    ArrayList的Insert方法
    FormsAuthenticationTicket对象
    powerdesigner设置唯一键,但不是主键的方式
    KeyValuePair用法(转)
    如何在安装过程中部署DevExpress控件
    asp.net GridView手写事件,包括取主键、取值、更新、选择、删除
    序列化(Serialize)、反序列化(Deserialize)
  • 原文地址:https://www.cnblogs.com/mingle/p/TFS_Mannual.html
Copyright © 2011-2022 走看看