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

时间:2012-01-24 17:34:46

标签: c# visual-studio-2010 version-control tfs tfs2010

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

如果我不想检出文件或文件已被其他人检出,我只需删除只读属性并开始编辑。那时,保险柜会不受我影响。稍后,我会合并我的更改。

使用TFS,默认情况下,它根本不允许我编辑文件(因为它由其他人签出),即使我删除了它的只读属性。所以我进入了工具/选项/源代码控制/环境并检查了Allow checked-in items to be edited

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

如何让TFS安静地编辑我的文件?

4 个答案:

答案 0 :(得分:4)

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

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

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

同样在检出文件时,请确保选择“未更改”,例如在此屏幕截图中:

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

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

答案 1 :(得分:2)

多个人同时签出同一个文件没有任何问题。这是为什么首先创建源控件的很大一部分,这样就可以完成。通过签出文件,而不仅仅是在TFS知识之外进行本地编辑,你也告诉别人你正在处理这个文件(有用的信息)。

如前所述,除非文件被检出并锁定,否则将禁止任何人访问或修改文件。

答案 2 :(得分:2)

每个项目都有一个设置,如果未选中,将明确禁用多个检出。

如果您有适当的权限,请在团队资源管理器中...右键单击您的项目,然后选择“团队项目设置 - >源代码管理...”。在“签出设置”选项卡上,有一个“启用多个签出”复选框。验证是否已选中该选项。

答案 3 :(得分:2)

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

例如

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

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

git commit -a

要将文件检入git,那么

git tfs ct

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