gpt4 book ai didi

visual-studio - 如何处理新分支上的文件

转载 作者:行者123 更新时间:2023-12-04 06:25:08 25 4
gpt4 key购买 nike

我今天刚开始在 VS2013 中使用 visualstudio.com(第一次使用源代码管理),并且正在运行一个网站项目。我的结构如下:

MyCompany.VisualStudio.com\DefaultCollection
- My Site (project)
- BuildProcessTemplates
- Site (folder)
- My Site (folder)
- Site (branch)
- subfolders
- Site Branch 1 (branch - created just now from "Site")
- subfolders

在解决方案资源管理器中,我只看到“站点”及其各自的文件。如何切换到在“站点分支 1”上工作?我假设我可以“打开现有网站”并在文件系统上找到它,但这是正确的方法吗?我曾希望有一个选项可以使用源代码管理资源管理器中的文件。

目前(分支之前),解决方案资源管理器反射(reflect)了我在控制资源管理器中看到的内容: enter image description here

分支后(创建“开发”分支),如果我点击“开发”分支中的一个文件,它会在当前项目下的“杂项文件”文件夹下打开,这会导致编译错误: enter image description here

所以,要忘记在“主要”上工作而改为在“开发”上工作,我是否必须从 VS 中“打开网站”,或者我可以将“开发”网站添加到当前解决方案(其中听起来不正确)?

最佳答案

解决方案资源管理器将向您显示解决方案中的文件;源代码管理资源管理器将显示源代码管理中的所有文件,您应该能够直接打开它们(假设该源代码管理路径存在工作区映射)。例如,从这个开始(其中 - 是一个文件夹,* 是一个文件,注意我已经修改了一些东西):

MyCompany.VisualStudio.com\DefaultCollection
- My Site (team project)
- BuildProcessTemplates
- Main (branch)
* MyGreatProject.sln
- MyGreatProject (folder)
* MyGreatProject.csproj
* MyGreatPage.html
* web.config

如果你打开解决方案,它会显示 Main\MyGreatProject\.. 的内容。现在让我们分支:

MyCompany.VisualStudio.com\DefaultCollection
- My Site (team project, source path = $/MyGreatProject)
- BuildProcessTemplates
- Main (branch)
* MyGreatProject.sln
- MyGreatProject (folder)
* MyGreatProject.csproj
* MyGreatPage.html
* web.config
- development (branch)
* MyGreatProject.sln
- MyGreatProject (folder)
* MyGreatProject.csproj
* MyGreatPage.html
* web.config

如果您打开 $/MyGreatProject/Main/MyGreatProject.sln,它仍然只会显示这些文件(以及那个 1 个项目)。源代码管理资源管理器将向您显示所有文件,您可以直接打开它们。如果您进行更改(例如您编辑 $/MyGreatProject/development/MyGreatProject/web.config),它将是您工作区中的待定编辑。如果您从源代码管理资源管理器中打开 $/MyGreatProject/development/MyGreatProject.sln,它现在将打开并显示 $/MyGreatProject/development 下的这些文件。

基于你的更新(也修复了我的 TFS 路径):

解决方案文件应作为源文件之一 checkin 分支。如果您在一个分支中添加项目(例如,您在开发中创建一个控件库),您希望在解决方案中使用它,但仅限于正在完成工作的分支中。

这是我的结构。您可以看到 $/MyGreatProject/Main/如何包含解决方案文件,并且网站位于其下方的文件夹中(这很重要,因为 VS 无法很好地处理解决方案位于网站文件夹中的网站项目):

Main Main website

发展看起来一样。

如果我在 VS 中打开了 $/MyGreatProject/Main/MyGreatProject.sln,然后从源代码管理资源管理器中打开 $/MyGreatProject/Development/MyGreatWebsite/Default.aspx,它会正常打开;我没有看到任何编译问题,也没有添加为 misc 文件。这是我的工作区映射:

workspace mapping

您可以看到工作区映射位于我的项目的根目录,因此它知道任何分支中的所有文件。我在分支时已将所有文件同步到本地磁盘,因此它没有在 %temp% 文件夹中打开。

当我将工作区映射更改为仅包含 Main,然后从 Development 打开文件时,它确实下载到 %temp%,并且我确实看到缺少代码隐藏文件周围的编译问题,这是有道理的,因为它只会下载您刚刚打开的文件(我认为)。虽然我没有看到它作为杂项文件打开...不知道为什么我们两个之间的行为不同。

无论如何,如果您的工作区映射包括这两个文件夹,则团队资源管理器会获得一些方便的功能。一方面,它将为您提供主页上工作区中可用的所有解决方案,因此您无需浏览源代码管理资源管理器或 Windows 资源管理器即可找到它们:

list of solutions

如果解决方案列表过长(最多显示 20 个),“打开...”链接将显示工作区根目录中的文件选择器对话框。

它还会向您显示工作区中所有文件的未决更改,因此如果您在多个分支中进行更改,您可以将它们一起 checkin ,或者您可以从当前 checkin 中排除一个分支中的文件并提交它们分开(这个 View 也没有单独调用分支,但是你可以看到文件的路径):

pending changes

关于visual-studio - 如何处理新分支上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22810450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com