15

我有两个项目的解决方案。我刚刚标记了解决方案并将其签入,现在所有文件的左侧都有蓝色挂锁的小图像,这显然意味着它们被标记为只读。

到目前为止,我一直只使用 Tortoise SVN,这是我第一次签入 TFS,所以为什么会发生这种情况,或者如果这里的答案太复杂,至少我怎样才能返回我的文件状态(整个解决方案可能)正常。

此外,我一直在努力寻找关于如何从 Visual Studio 2012 使用/执行 TFS 基本任务的良好阅读/教程,因此,如果有人可以分享有关该主题的良好信息来源,将不胜感激。

4

2 回答 2

32

事实上,这很正常。您正在使用“服务器工作区”,或从 TFS 2012 之前连接到 TFS 服务器。Team Foundation Server 具有多种工作模式:

  1. 签出/编辑/签入系统(通过“服务器工作区”)意味着您需要明确签出文件才能开始编辑它。文件保持只读状态,以便快速向您指示哪些文件已签出以及哪些文件需要签出。如果您只是开始在理解 TFS 版本控制(Visual Studio、Eclipse)的 IDE 或编辑器中输入内容,那么 IDE 将为您检查文件。否则,您将需要手动签出文件(通过在源代码管理资源管理器中选择“签出以进行编辑”或运行tf checkout <filename>.)

    这种类型的系统对于拥有非常大的存储库或这些存储库中的文件非常大的团队非常有用;通过明确指示源代码控制系统您正在编辑文件,您可以避免扫描文件系统的需要。

  2. 编辑/合并/提交系统(通过“本地工作空间”)意味着您不需要采取任何显式操作来签出文件,当您查询待处理的更改时,将扫描磁盘以确定您所做的更改. 本地工作区是 TFS 2012 中的默认设置,但您或您的管理员可以更改此默认设置

    这类似于 Subversion 的操作方式,并且通常适用于大多数存储库,但是如果您在树中使用保留大型二进制文件,这可能不是一个好的选择。

  3. 分布式版本控制系统(通过git)意味着您在本地拥有存储库的完整克隆,并允许您在离线时完全独立工作,并在您认为合适的时候共享您的更改或接收其他人的更改。Git 是 TFS 2013 和 Visual Studio 2013 中的新功能。

    这种类型的系统对于高度分散的团队和想要利用新颖分支策略的团队非常有用,但可能不适合对细粒度权限有非常复杂要求的团队。

如果您的服务器是 TFS 2012 或更高版本,并且您想将现有服务器工作区转换为本地工作区,您可以打开“编辑工作区”对话框并在高级设置中更改工作区的类型。这将使您的所有文件都可写,并且您将继续在类似 Subversion 的模式下工作。

于 2013-11-08T14:11:52.313 回答
3

这是很正常的,对文件有锁。但是,您可以设置不同签入/签出策略的源代码控制级别。

链接: http: //msdn.microsoft.com/en-us/library/ms181237 (v=vs.90).aspx

对于全球文档:

  1. 源代码控制:http: //msdn.microsoft.com/en-us/library/vstudio/ms181368.aspx
  2. Tfs 全球: http: //msdn.microsoft.com/en-us/library/vstudio/hh529827 (v=vs.110).aspx
于 2013-11-08T13:52:00.183 回答