繁体   English   中英

TFS弄乱了我的工作流程编码风格。

[英]TFS messing with my workflow coding style.

我最近在VS2010中从Vault转换为TFS以进行C#编码(语言可能无关紧要)。 我的工作流程过去如下:

如果我不想检出文件或文件已经被其他人检出,则只需删除只读属性并开始编辑。 到那时,保管箱就不会挡路了。 稍后,我将合并更改。

使用TFS,默认情况下,即使我删除了其只读属性,它也完全不允许我编辑该文件(因为它已被其他人签出)。 因此,我进入了工具/选项/源代码控制/环境,并选中了Allow checked-in items to be edited

此设置确实允许我编辑文件,但是,每次我按Ctrl-S进行保存时,它都会抱怨该文件已被锁定以便签出。

如何让TFS和平编辑我的文件?

除非正在处理文件的其他人在签出文件时lockinglocking ,否则您应该没有问题。

我的设置如下,并适合您的情况:

Options -> Source Control -> Environment

Team Foundation
[] Get everything when a solution or project is opened
[] Check in everything when closing a solution or project
[] Display silent checkout command in menus
[] Keep items checked out when checking in

Checked-in items
  Saving: Check out automatically
  Editing: Check out automatically
  [] Allow checked-in items to be edited

在“团队资源管理器”窗口中,右键单击{Team Project} ->团队项目设置->源代码管理

确保“ [x] Enable multiple check-out出设置”具有[x] Enable multiple check-out

另外,在签出文件时,请确保已选择“未更改”,例如此屏幕快照:

https://skydrive.live.com/?cid=C0257D84E94B7A32&id=C0257D84E94B7A32!370

http://social.msdn.microsoft.com/Forums/pl-PL/tfsversioncontrol/thread/4353d676-1794-4db0-9d9d-f2a231315980

多人同时签出同一文件没有任何问题。 这就是为什么首先要创建源代码控制的很大一部分原因,以便可以做到这一点。 通过检出文件,而不仅仅是在TFS不了解的范围内对其进行编辑,还可以告诉其他人您正在处理文件(拥有有用的信息)。

如前所述,除非将文件签出并锁定,否则不会阻止任何人访问或修改文件。

每个项目都有一个可用的设置,如果未选中该设置,则将显式禁用多个签出。

如果您具有适当的权限,请在Team Explorer中...右键单击您的项目,然后选择“ Team Project Settings-> Source Control ...”。 在“签出设置”选项卡上,有一个复选框“启用多个签出”。 验证是否已选中该选项。

如果您习惯使用git(或愿意尝试一下),那么我强烈建议您使用git tfs。 它消除了必须清除文件上的只读标志的整个烦人范例,因为每个文件都已从TFS源树有效地克隆到git存储库中。 然后,当您将更改推回TFS时,会将更改编组回TFS批准的格式。

例如

git tfs quick-clone http:tfs-server/tfs/yourCollection $/YourCode/YourBranch YourDirectory

将所有文件从TFS YourDirectoryYourDirectory ,然后可以像对计算机上的任何其他文件一样修改这些文件,然后将它们发送回tfs,可以发出命令

git commit -a

要将文件检入git,然后

git tfs ct

将文件推送到TFS存储库中。 可以在这里找到更多详细信息: https : //github.com/git-tfs/git-tfs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM