我最近在VS2010中从Vault转换为TFS以进行C#编码(语言可能无关紧要)。我的工作流程如下:
如果我不想检出文件或文件已被其他人检出,我只需删除只读属性并开始编辑。那时,保险柜会不受我影响。稍后,我会合并我的更改。
使用TFS,默认情况下,它根本不允许我编辑文件(因为它由其他人签出),即使我删除了它的只读属性。所以我进入了工具/选项/源代码控制/环境并检查了Allow checked-in items to be edited
。
此设置允许我编辑文件,但是,每次按Ctrl-S保存文件时,它都会抱怨文件被锁定以便签出。
如何让TFS安静地编辑我的文件?
答案 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
同样在检出文件时,请确保选择“未更改”,例如在此屏幕截图中:
这
答案 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