我是Visual Studio 2019中使用TFVC进行版本控制的新手,我无法理解“签出”选项的作用。我找不到真正的定义和实际用例。特别是,我正在团队中工作。当我编译某个项目时,我需要在两个与不同项目相关的文件夹中复制由先前的构建过程创建的两个dll
文件,以替换其旧版本的dll
文件。现在,在构建项目之后,他们告诉我我必须签出旧的dll
文件并选择它们,然后从Source Control Explorer中单击Check Out,而我只需要复制新的dll
文件,用本地工作区中的简单“复制并粘贴”替换旧文件。为什么需要检出那些文件?为什么不能只打开本地工作区,然后直接用“复制并粘贴”替换旧的dll
文件?
我不太了解您团队的工作流程。让我提出一些想法,供您了解您当前的工作流程是否最合适。
TFVC是集中式版本控制。意味着在服务器端有一个“单一事实源”。
坦白说,任何需要在源代码管理范围内处理某些文件的开发人员,都必须对如何使用共享文件做出决定。稍微简化一下您在这里拥有的工作流程-不是最好的,也不是唯一的工作流程-可以帮助您弄清楚“检出”文件意味着什么。
如果遵循此简单的工作流程,您会发现,每当获得最新版本的代码时,您可能会发现其他人对您正在处理的一段代码进行了更改。这意味着您需要合并这些更改。同时,出于相同的原因,每当您将代码“签入”到服务器中时,您可能会发现服务器版本与您的版本之间存在一些差异,这可能会导致新的合并活动。在这种情况下,集中版本控制允许您“ 检出
回到您的示例。在开发人员中从TFVC中检入TFVC中的dll是一种常见的做法(但不是很好的做法
)。您可能会签出dll,因为您将要编译代码,并且将拥有“最新版本”。根据您团队的工作方式,这可能不是事实。现在,如果您需要在团队之间共享共享的dll,我建议您设置一种不同的方法(例如将它们存储在某些程序包管理器中)。问候