TFS解决离职人员签出遗留签入的问题办法(转载)
转自:http://www.it165.net/pro/html/201301/4538.html
相信有使用过Team Foundation Server(TFS)的人偶尔都会碰上一个问题,
就是当项目中的某个开发者将档案签出后却没有签入,或者开发者签出档案后没有签入就离职了等等情况下,
会使的档案被锁定无法编辑的情况发生,当然TFS中签出有三种锁定类型如下:
- 未变更-保持限有的任何锁定 : 当已签出此档案时,如有其它使用者要签出与签入档案时不会受到影响
- 签出-不允许其它使用者签出与签入 : 当已签出此档案时,如有其它使用者要签出签入档案时将无法动作
- 签入-允许其它使用者签出但不允许签入 : 当已签出此档案时,如有其它使用者要签出签入档案时将只能作签出动作
如当初签出的时候是使用第一种类型的话是还不会影响很大,但是第二第三种的话就会影响到作业,
接下来就来介绍一下碰到这种问题时可以使用甚么方法来解决。
范例
方法一: 使用命令提示字符TFS UNDO命令
首先要先检查一下在VS安装的数据夹中有没有 TF.exe 档案,路径如下:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
或
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE
如果有的话就继续以下步骤
开始 > 执行 > 输入 CMD > 开启命令提示字符窗口
输入: CD C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
接下来就来介绍一下碰到这种问题时可以使用甚么方法来解决。
范例
首先要先检查一下在VS安装的数据夹中有没有 TF.exe 档案,路径如下:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
或
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE
如果有的话就继续以下步骤
开始 > 执行 > 输入 CMD > 开启命令提示字符窗口
输入: CD C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
先将目录切换到TF.exe的资料夹下,接着可以输入以下三种命令取得相关信息:
1.查询相关联的工作区
输入: tf workspaces /owner:[Account] /server:http://[ServerDomainl]:[Port]/tfs/[项目集合名称]/
例如: tf workspaces /owner:arvin /server:http://test.tfs.com.tw/:8080/tfs/专案部/
完成后会返回此使用者项目中的工作区清单。
1.查询相关联的工作区
输入: tf workspaces /owner:[Account] /server:http://[ServerDomainl]:[Port]/tfs/[项目集合名称]/
例如: tf workspaces /owner:arvin /server:http://test.tfs.com.tw/:8080/tfs/专案部/
完成后会返回此使用者项目中的工作区清单。
2.查询变更的状态
当知道工作区名称后就可以更进一步的查询该使用者的变更状态,
输入: tf status /server:[ServerDomain]:[Port]/tfs/[项目集合名称]/ /workspace:* /user:[Account]
例如: tf status /server:http://test.tfs.com.tw:8080/tfs/专案部/ /workspace:* /user:arvin
完成后即会返回变更状态纪录。
当知道工作区名称后就可以更进一步的查询该使用者的变更状态,
输入: tf status /server:[ServerDomain]:[Port]/tfs/[项目集合名称]/ /workspace:* /user:[Account]
例如: tf status /server:http://test.tfs.com.tw:8080/tfs/专案部/ /workspace:* /user:arvin
完成后即会返回变更状态纪录。
3.强制签入
从第二步骤可以发现 test1.aspx 这只程序已经被签出编辑,再来要将此程序强制回复原始的变更,
输入:tf undo /workspace:[工作区名称];[Account] [TFS项目路径+文件名称]/server:[ServerDomain]:[Port]/tfs/[项目集合名称]/
例如:tf undo /workspace:ARVIN-VAIO;arvin $/TestProject/test.aspx /server:http://test.tfs.com.tw:8080/tfs/专案部/
从第二步骤可以发现 test1.aspx 这只程序已经被签出编辑,再来要将此程序强制回复原始的变更,
输入:tf undo /workspace:[工作区名称];[Account] [TFS项目路径+文件名称]/server:[ServerDomain]:[Port]/tfs/[项目集合名称]/
例如:tf undo /workspace:ARVIN-VAIO;arvin $/TestProject/test.aspx /server:http://test.tfs.com.tw:8080/tfs/专案部/
经过以上三个步骤,就可以将已签出的档案强制签入啦。
方法二: 使用 MSBuild Sidekick
MSBuild Sidekick 是VS的一个第三方工具套件,
使用此工具的TFS账号必须要有一定的权限,以下简单说明使用方法。
首先至 http://www.attrice.info/downloads/index.htm 下载 Sidekick 安装档,关闭VS安装此工具,
安装完成后在VS工具列的「工具」标签中会多出一个「Team Foundation Sidekick」选项,
选择到该选项内的「Status Sidekick」选项。
方法二: 使用 MSBuild Sidekick
MSBuild Sidekick 是VS的一个第三方工具套件,
使用此工具的TFS账号必须要有一定的权限,以下简单说明使用方法。
首先至 http://www.attrice.info/downloads/index.htm 下载 Sidekick 安装档,关闭VS安装此工具,
安装完成后在VS工具列的「工具」标签中会多出一个「Team Foundation Sidekick」选项,
选择到该选项内的「Status Sidekick」选项。
选择后会跳出一个状态搜寻窗口,依照需要输入的条件查询后即可查出被签出的那只程序档案。
接下来点选到 test1.aspx 此列,点选上方返回图样的按钮后即可以将此程序签入TFS。 www.it165.net
第二种方式透过接口就可以直接强制签入档案,也算是一种非常简单的方法,
以上两种强制签入的方法就让各位读者决定要使用哪一种方式喽。