怎么从ecplise中打开TFVC源VC怎样获取其他框的控件值

随笔 - 81&
文章 - 73&
评论 - 946&
&&&&&&&&&&&
  对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控制这个重要的工具。时隔好几个月后,最近一次偶然的机会,在尝试了 Git 工具来维护《ueditor上传图片到七牛(CSharp版本)》中所使用的代码后,感觉良好,因此便有了利用 Git 来维护 Charley Blog 的原始冲动。
  本片文章中,我会详细介绍如何使用 Git 来连接TFS,请大家接着往下看吧。
  如果懒得看文字,您也可以访问如下视频网站进行观看:,,。
  Team Foundation Server 是微软提供的一款团队协作开发工具,提供应用程序生命周期管理(ALM,Application Lifecycle Management)功能,主要包含工作项建立、源代码控制(TFVC,Team Foundation Version Control)、测试管理等,可以有效帮助团队成员进行协作开发。
  Git 是一款分布式的版本控制工具,开发者可以使用 Git 把代码存放到本地代码库或者网络上的代码库(或称代码托管服务器)进行管理。国外比较有名的 git 托管服务器有 GitHub、GoogleCode、BitBucket、CodePlex 及微软的云端TFS。国内有 GitCafe、CSDNCode、开源中国-代码托管。
  而版本控制工具除 Git 外,还有SVN(Subversion)、VSS(Visual SourceSafe)、TFVC等。
  本文默认读者已经对 Git 有了基本的认识,如果尚未了解过,建议大家阅读参考资源、。
在 TFS 中使用 Git
  自日开始,TFS就开始支持使用 Git 签入源代码了,这对很多项目组来说是个不折不扣的好消息。但是想使用该功能必须安装一个 Visual Studio 扩展,该扩展只支持 Visual Studio 2012 Update 2 或以上版本(Visual Studio 2013则原生支持 Git)。&&安装了之后,开发团队就可以混合使用 Git 和 TFVC 来签入代码,也可以使用其它第三方的 Git 客户端工具或第三方 Git 托管服务器。如果使用 TFS 作为代码托管服务器,那么还能继续使用 TFS 强大的应用程序生命周期管理工具。
  下面,我会通过实例演示如何使用 Git&签入代码到 TFS。
&&&&1. 下载 Visual Studio 扩展
  没有安装扩展之前,团队资源管理器中只显示 TFS。
  选择 &工具& -& &扩展更新&,进入如下界面。
在输入框中输入&git&
  安装完成后,重启 Visual Studio,会发现团队资源管理器界面多了 Git 的栏目。
  2. 新建项目
  选择控制台应用程序,同时勾选 &添加到源代码管理&。
  第一次进入项目的时候,会请你选择想要的源代码管理系统,这里我们选择 &Git&。
  当选择完源代码管理系统后,Visual Studio 会对 Git 进行初始设置。
该项目的 Repository 已经创建成功
  这时候,我们查看解决方案资源管理器,可以看到在每个项目前都多了个源代码控制的状态图标。
&+& 代表该文件是新添加的
  右键单击每一项,会发现在上下文菜单中多了三个新东东: Undo、View History、Commit。这些是源代码控制的快捷菜单。
  3. 配置 Git 源代码管理工具
  打开 &团队资源管理器&,显示如下:
&提示安装第三方命令行工具&,目前用不到,暂时忽略
  点击 &Changes&
  此时团队资源管理器会切换到 &Changes& 界面,该界面会列出所有本次修改过的代码。
  在我们正式签入代码之前,还需要对 Git 进行一次配置,否则 &Commit& 按键将一直显示灰色,无法点击。
  点击 &Config& 就可以进入到配置界面,在此输入用户名、邮箱,用以在源代码管理器的历史记录中显示某次签入的人员信息。填写完毕后,点击 &Update&。
  用户名、邮箱并不作为登录TFS的凭据,只是用于标识某次签入人的代号,可以任意填写。上述配置可以在后期进行修改。
  4. 项目签入
  再回到 &Changes& 界面, 填写本次签入的描述信息后点击 &Commit& 进行签入。
  我们还未连接过任何源代码托管服务器,所以现在的 &签入& 只是签入到本地代码库中。因此你会发现签入的速度极快,签入成功后,显示如下信息。
Commit XXX created locally. Sync to share your changes with the server.
  点击 &Commit 77a04762&,查看本次签入的详细情况。
  回到解决方案资源管理器,会发现原先的 &+& 号变成了一把小锁,这表示该文件已经签入成功了。
  5. 修改代码
  修改Program.cs中的代码,会发现小锁变成了一个 &勾子&,这表示该文件已经在本地进行了修改。
  右键单击解决方案资源管理器中的 &Program.cs& ,选择 &Source Control& -& &Compare with Umodified& 比较一下当前版本和上一个版本的区别。
选择 &Compare with Umodified&
&比较& 面板
  签入本次改动后,查看历史记录。
&历史记录& 面板
  截止目前为止,我们对代码的版本管理操作都只是基于本地的代码库,并没有连接到网络上的服务器。这对于个人开发者来说是个绝妙的事情。
  6. 同步到云端的 TFS 服务器
  6.1 使用 Visual Studio Online 建立服务器
  对于小于5个人的小型开发团队而言,可以使用 Visual Studio Online 来免费维护自己的代码。
  在浏览器中输入 &&&连接到 Visual Studio Online,一个微软账户只能创建一个 Visual Studio Online 账户。
  创建一个代码库,选择将使用的源代码管理工具。
创建新代码库
  点击左上角的 &Code& 选项,进入 &Code& 页面。第一次进入该页面,会提示如何连接到此代码库。复制代码库地址。
  6.2 代码同步到新创建的代码库中
  回到 Visual Studio, 选择 &Unsynced Commits&,将上面复制的地址粘贴到对就的位置。
Unsynced Commits 界面
将地址粘贴到输入框
  点击 &Publish&,便开始将本地代码库中的数据同步到服务器。
点击 &Publish&
  7. 在服务器端查看代码
  当数据同步成功后,我们可以进入服务器查看代码状态。
  还是进入 &Code& 页面,此时已经能正常看到刚才提交过的代码了。
  查看历史记录,可以看到所有本地的历史版本都已经被正确同步到了服务器端。
  上面,我只是演示了如何将新建的项目添加到云端的TFS。你完全可以将已有的项目添加到源代码管理控制系统,请见。
Git 与 TFVC
  集中式的版本控制系统。具体来说的话,使用该工具,所有文件的版本历史数据只保存在服务器上,开发人员的机器上只会保留文件的一个版本,想查看历史数据必须从服务器上调取。
  所有对代码的版本控制操作必须连接服务器,无法在本地进行代码的签入、创建分支、历史版本比较等操作。
  分支是基于路径的,而且只在服务器上创建。
  支持在代码签入时进行强制检查,如果不符合预先设定的规范,则TFS会拒绝签入。
  支持挂起所做的修改(即vs2010中的shelve功能,vs2012中的suspend功能),并在日后继续。
  分布式的版本控制系统,每个开发人员的机器上都会保存完整的版本历史。
  对代码的版本控制如签入、创建分支、历史版本比较时不需要连网。
  分支是轻量级的,可自由切换。
  在代码签入时不支持强制检查。
  详细差异请见。
  本文来自
阅读(...) 评论()DevOps - 提交到 Git: Visual Studio 2015 中的源控件
问题和下载内容
第 31 卷,第 8 期
DevOps - 提交到 Git: Visual Studio 2015 中的源控件
| 2016 年 8 月
自 2013 版本发布之日起,Visual Studio 和 Team Foundation Server 为 Git 提供了全新的支持,这一款颇受欢迎的源代码管理系统已经颠覆了许多传统选项。为了完善该源控件选项,Microsoft 向 Visual Studio 添加了功能丰富的 Git 前端工具。但是,如何访问并利用这些工具呢?
在本文中,我将介绍 Git 与 Team Foundation Server (TFS)(以前称为 Team Foundation Version Control (TFVC))相关联的源控件技术的差异。然后我将深入探讨如何配置 Git;如何基于本地存储库 (repo) 创建、连接和运行,包括如何暂存和提交更改;如何管理分支,包括合并和查看历史记录;以及如何连接到不同类型的远程存储库,包括如何同步更改。
在本文中,我创建的图来自 Visual Studio 2015 Update 2 企业版,但我在文中讨论的是所有其他 Visual Studio 2015 版本(包括 Community 和 Express 版本)都提供的项目。为了节省空间,我创建的图有时包含不止一个屏幕图像,我在文章中对此做了标注。同时,我还使用了编号标记以便你关注图内的项。当我提到“图”时,我通常只提及它的标记。例如,对于这句话“查看图 1,标记 1,然后查看标记 2”,表示标记 2 在图 1 中。
图 1 团队资源管理器窗口主页面板(脱机)
如果你多年来一直在使用 Visual Studio,你可能对此有印象:TFVC 是在团队环境中开发解决方案的正确选择。通常如此,尤其是当你的项目已经使用 TFVC 或它们需要存储超大型文件时,包含大量文件(远远超出了任何人能够通过网络进行传输的合理范围)或必须能够在源控件下锁定文件。但是,由于更常见的情况是开发人员从分散的远程位置为单个协作软件项目工作,更新的开发团队纷纷采用 Git,因为它是可以广泛地跨平台使用的分散式版本控制系统,其优势在于使你能够在脱机状态下高效地提交或撤消更改、管理分支和访问历史记录。最大的好处是,当你准备好时,你可以进入联机状态、连接到由团队其余成员更新的同一远程存储库,并使用各种方法同步你在脱机状态下所做的更改。
Visual Studio 2015 IDE 依赖 LibGit2 API 和 LibGit2Sharp 通信层,以实现在 Git 前端工具中公开的所有 Git 功能。LibGit2 是完全使用 C 语言编写的零依赖、跨平台和开源 Git 核心引擎。而 LibGit2Sharp 是使用 C# 语言编写的库,在 Microsoft .NET Framework 下以托管进程运行。它在 Visual Studio 和 LibGit2 间作为 .NET 友好界面,极大地简化了 Visual Studio 开发团队在 LibGit2 库间建立通讯管道所需的编程的工作量。LibGit2Sharp 同样对你可用,这意味着你可以使用你最喜爱的 .NET 语言来编写自己的 Git 工具和实用程序。在
中了解更多有关 LibGit2 和 LibGit2Sharp 的详细信息。
在 Visual Studio 中,团队资源管理器是你与 LibGit2(基础 Git 引擎)进行最终交互的主要 GUI 管道。若要将其打开,请选择“查看 | 团队资源管理器”菜单项或在键入 Ctrl+\ 后按 Ctrl+M。沿着“资源管理器”窗口的顶部是工具栏,包含蓝色的“后退/前进”导航按钮,随后是白色的“主页”、绿色的“连接”和蓝色的“刷新”按钮。单击“主页”按钮后,你会看到如图 1 中所示的类似的窗口。
工具栏下方是标签“主页”(标记 1)。在该标签旁有一个白色的向下箭头(标记 2),表示它被连接到下拉菜单。沿标签单击任意一处以显示菜单(标记 4)。借助“团队资源管理器”工具栏和该上下文菜单,你可以便捷地在各种“团队资源管理器”面板间切换;它是选项卡式对话方法的不同类型: 当前正在查看的面板类型(在本案例中,是“主页”)将显示在这两个面板标签(标记 1)中以及“团队资源管理器”标题栏描述文字(标记 3)上。
在 Visual Studio 内使用 Git 前,需要对其配置全局设置。若要执行此操作,导航到团队资源管理器的“主页”面板。这是包含一系列按钮的“项目”部分,供查看挂起的更改、管理分支及使用远程存储库进行同步(图 1,标记 5)。单击“设置”以打开“设置”面板,然后单击 Git 部分下的“全局设置”。这会显示“Git 设置”面板(图 2,标记 1)。这些全局设置不受限于特定的 Git 存储库,而是在你新建存储库时提供默认值(你可以稍后在每个存储库基础上替代这些默认)。指定你的用户名称(应为你的全名 - 允许空格);你的电子邮件地址和默认存储库位置(是你想要通过 Visual Studio 存储新建 Git 存储库位置的默认文件夹)(标记 2)。
图 2 团队资源管理器 Git 设置面板
同样,指定是否将 TFS 或 Gravatar 作者图像与 Git 活动相关联。如果你选择 Gravatar,请注意该功能工作的方式是将与每个 Git 提交相关联的电子邮件地址发送到 Gravatar 以作为查找键。然后,Gravatar 返回与该电子邮件地址关联的图像。因此,最终的结果是,这一看似无关紧要的功能会与第三方实体共享你的团队中的每个人的联系人信息 - 而这可能是你想要阻止的。最后,选择是否在默认合并后提交更改(标记 3)。如果你对这些字段进行任何更改,单击“更新”以将其保存。(标记 4)。
在面板的单独部分,你可以设置使用哪类差异分析工具和合并工具;当前,这些值默认为 Visual Studio 自带的工具。如果你想进一步自定义这些选择,则可能需要对该 Window 编写的配置文件进行手动编辑。该文件是 .gitconfig,位于你的 homepath 文件夹中。
基于本地存储库运行
如果你作为自由开发人员开发你自己的项目,并已决定将你的代码置于源控件下,则可以从在本地 Git 存储库中脱机运行开始,稍后扩展到连接的远程存储库(如有必要)。
若要创建一个空的存储库,转到“团队资源管理器连接”面板(图 3,标记 1)并单击“本地 Git 存储库”下的“新建”(标记 2;“新建”显示为灰色,因为我已经单击过它)。输入一个本地路径和存储库名称,例如你的默认源路径,后跟 \MyNewestRepo(标记 3),然后单击“创建”(标记 4)。此操作会创建一个名为 MyNewestRepo 的文件夹(这是你的工作目录),其中包含 .git 文件夹和两个文件,.gitignore 与 .gitattributes。尽管我在屏幕图像中对其显示,.git 实际上是一个隐藏的文件夹: 它包含实际 Git 存储库(Git 的支持数据库和维护文件),通常情况下不要碰触它。但因其包含你的整个 Git 存储库,你可能想要对其进行备份,所以知道它是存在的是很重要的。.gitattributes 文件指定 Git 应如何处理行尾以及在当前存储库内对文件进行差异对比时启动哪些程序;.gitignore 指定 Git 不应跟踪带有某些扩展名的文件或某些文件夹中的文件(默认情况下,它指定 .suo、.user、.pdb、和 .tmp 文件扩展以及调试和发布文件夹中的所有文件)。根据需要添加其他文件扩展名和文件夹以保持你的 Git 存储库大小尽可能小。
图 3 团队资源管理器连接面板
新建存储库后,你会看到它显示在“本地 Git 存储库”部分下。双击显示在列表中的任何存储库(图 3,标记 6)以连接到该存储库;在将你转到“主页”面板前,系统使用粗体字突出显示该存储库,确认你已成功连接至所选存储库(图 4,标记 2)。
图 4 团队资源管理器主页面板,连接到存储库
如果现在单击“设置”,你将看到你具有存储库专用设置的访问权限。如果你想要替代从 Git 的全局设置继承的值,请访问这些设置。例如,如果你正为一个特定客户开发项目,并想要使用工作专用的电子邮件地址,则为当前存储库自定义电子邮件地址是相当常见的。此外,你可以单击提供的链接直接编辑 .gitignore 和 .gitattribute 文件;指定使用哪些差异分析工具和合并工具;添加远程并查看与当前存储库相关的其他属性。
请记住,Git 的工作目录是包含 .git 目录的父文件夹。创建并配置空存储库后,向其添加文件的第一步是向工作目录添加文件。Git 会查看这些文件,但不会将其合并到 Git 存储库,除非你暂存或提交它们。了解这些知识后,只需根据你的需要使用工作目录并在准备好后加入 Git 提交工作流。
一种方法是从创建空的存储库开始,然后添加文件,你还可以从创建解决方案文件开始。若要新建解决方案及 Git 存储库,请选择“文件 | 新建项目”菜单项。你会看到包含“新建 Git 存储库”复选框的“新建项目”对话框。如果选中,Visual Studio 将在新项目的工作目录中新建一个解决方案和一个 Git 存储库,以及两个 .gitattributes 和 .gitignore 配置文件。或者,如果你有现有解决方案并想要将其置于 Git 源控件下,打开解决方案,然后选择“Visual Studio 文件 | 添加到源控件”菜单项。以上两个操作过程都会新建一个 Git 存储库以及 .gitattributes 和 .gitignore 配置文件。
只要你打开 Git 源控件下的解决方案,Visual Studio 就会自动连接到该解决方案的工作文件夹中的存储库。同样,只要你使用“团队资源管理器连接”面板连接至现有存储库,Visual Studio 就会动态扫描该存储库的工作目录中的所有文件夹以找到 .sln 文件,并在“主页”面板的“解决方案”部分中将其列出。例如,如果你连接到 MyNewestRepo 存储库,你可能会看到类似于标注图像的解决方案列表,如图 4,标记 4 中所示。当 Visual Studio 识别出与存储库关联的此类解决方案时,如果你想在 IDE 内打开该解决方案,请双击一个条目。
使用 Visual Studio 打开 Git 源控件下的解决方案时,解决方案资源管理器在其树视图控件中的项目旁显示信息性图标。图标指示你的工作目录中的项目的状态(与你当前连接到 Git 存储库中存在的项目相比)。例如,在图 5 中,你可以看到已签入项旁的蓝色锁图标(标记 1)、已更改项旁的红色复选标记(标记 2)和已添加项旁的绿色加号(标记 3)。如果你遇到不认识的图标,直接将鼠标悬停在该图标上以查看有帮助的工具提示。这些图标通常是准确的,如果你在 Visual Studio IDE 外部对项目进行了更改,则有必要单击“解决方案资源管理器刷新”工具栏按钮以更新视图。
图 5 带有指示源控件状态的图标的解决方案资源管理器
对你解决方案中的项执行完操作后,你可能想要暂存更改,然后将其提交到 Git 存储库,或者甚至撤消一些更改。若要开始管理你所进行的更改,请导航到“团队资源管理器 | 主页 | 更改”。在“更改”面板(图 6,标记 1)中,你会看到所有检测到的更改(标记 2)。单击加号图标(标记 12)以暂存所有已更改的项,或单击减号图标以取消暂存所有项(标记 13)。你也可以在“更改”(标记 2)和“已暂存的更改(标记 3)”部分之间拖放项目。
图 6 团队资源管理器更改面板
右键单击更改项以查看菜单,该菜单可以使你:打开文件、查看历史记录、与未修改的版本进行比较、打开源文件和显示与其相邻的信息性注释窗格,以及暂存和撤消更改(标记 14)。如果你想要将某个更改与文件的未更改版本进行比较,请双击已更改项以启动差异分析窗口(图 7)。差异分析窗口具有两个窗格: 左窗格显示本地 Git 存储库中未修改的版本,右窗格显示你的工作目录中的版本;最右侧直观地向你展示了两个文件的差异所在(标记 1)- 红色表示删除,绿色表示添加;窗格对有删除的整个代码行使用红色突出显示(标记 2),对有添加的整个代码行使用绿色突出显示(标记 3),差异分析工具分别在有删除或有添加的文本周围画一个红色或绿色框。此外,每个窗格顶部的侧边有实用的下拉列表(标记 4)- 帮助你快速导航到代码部分。
图 7 Visual Studio 默认差异分析工具
当你准备提交更改时,添加提交消息(图 6,标记 4),然后单击多模式“提交”按钮(标记 5)。该多模式按钮默认为“提交已暂存的”,但它也可推送和同步(该功能只有在连接到远程存储库的上下文中才有意义)。成功完成提交操作后,团队资源管理器报告提交 ID(标记 15)。
请注意,“更改”面板会通知你,它正在名为 unit_test_project 的本地分支运行(图 6,标记 6)。Visual Studio 状态栏还会报告你所运行的分支的信息(标记 10)并显示其他与当前 Git 存储库相关的有用的、实时的信息。例如,它显示未发布的更改的数量 - 也就是说,有多少更改还未推送到远程存储库(标记 7);已暂存的更改的数量(标记 8);当前存储库的名称(标记 9);以及当前分支的名称(标记 10)。此外,这些状态栏部分的操作类似于按钮。例如,如果你单击当前存储库,则 Visual Studio 打开“团队资源管理器连接”窗格,向你展示有关当前存储库的详细信息;如果你单击当前分支,弹出菜单会提供分支选项。
如同任何源控件系统,当你向存储库提交更改时,你正添加到存储库的提交历史记录。那些历史记录条目包括你在 Git 设置中提供的用户名称和电子邮件地址,以便任何拥有历史记录数据访问权限的用户都可以查看某个操作的执行人员、内容和时间。 不仅如此,当你将本地更改推送至远程存储库时,历史记录也随之推送。当团队的其他成员将他们的本地存储库与远程存储库同步时,他们将能看到你的更改生成的历史记录。
Visual Studio 支持基本和高级 Git 分支功能。当你想要管理分支时,导航至“团队资源管理器 | 主页 | 分支”以打开“分支”面板(图 8,标记 1)。沿着顶部,你会看到合并、变基和其他操作的快速链接(标记 2)。在下面,你会看到称为“活动 Git 存储库”的部分(标记 3)和其各自包含的分支列表;当前的分支以粗体显示(标记 4)。若要切换到其他分支,请双击它。然后,Visual Studio 对所选分支执行签出。
图 8 团队资源管理器分支面板
右键单击特定分支以查看可用操作的菜单(标记 5)。你可以签出所选分支、从现有本地分支新建本地分支、从现有本地分支合并到所选分支、从所选本地分支变基到另一现有本地分支、对所选分支执行硬重置或混合重置、挑拣所选分支或删除当前分支。如果你选择合并,Visual Studio 将提供所有支持以检测合并冲突,并向你显示你能使用的冲突编辑器,以手动解决这些冲突。
你还可以查看任何列出的分支的历史记录,并可以从该历史记录视图右键单击某个条目以查看提交菜单,该菜单可让你查看提交详细信息、新建分支、创建标记、恢复、重置、挑拣和导航到父/子分支。历史记录视图显示提交 ID、作者、日期和提交消息。
连接到远程存储库
目前为止,我将我的讨论范围限制在本地 Git 存储库的脱机工作。如果你开发自己的项目,通常你只需使用本地存储库,并且拥有可靠的方式对你的工作目录的 .git 文件夹进行备份。但是,当你想要与其他开发人员一同进行一个团队项目,或当你想要使用托管服务作为备份,则需要连接到远程存储库。
如果你想全面控制你的存储库,或者你不希望将全球的下一个杀手级应用的代码置于托管服务器上,则应当考虑在你自己的网络上使用文件共享来托管你的存储库。接下来,你可以通过安装基于 Windows 的 Git 服务器(例如免费的 Bonobo Git 服务器 () 或对最多 2 个用户免费的 GitStack ())来提高可靠性和存储库的文件传输速度。接下来,你可以在服务器上(该服务器位于你的网络上并最多免费支持 5 个指定用户)下载和安装 Visual Studio Team Foundation Server Express 2015;或者,如果你或你的团队中的任何成员拥有可用的 MSDN 许可证,则可以在你自己的服务器上下载和安装 Visual Studio Team Foundation Server 2015 的完整版(可永久使用并免费支持最多 5 个指定用户)。最终,你可以购买和安装 Visual Studio Team Foundation Server 2015 以及你的团队所需的客户端访问许可证 (CAL)。
如果你希望并能够使用非现场 Git 托管服务,则你的选择范围扩展到包括 Visual Studio Team Services(以前称为 Visual Studio Online),以及诸如 GitHub、BitBucket 和 GitLab 等受欢迎的选项。免费的托管方案始终会有一些限制。Git wiki 网站 () 致力于持续关注多种 Git 托管方案和功能。
若要演示如何连接到远程并克隆其托管的存储库,首先克隆一个托管在你的网络的某个位置上的存储库。接下来,你将连接到并克隆托管在 Web 上的简单的 Visual Studio Team Services 存储库。最后,我将演示如何连接到并克隆 GitHub 托管的著名项目的存储库。
若要管理远程,导航至“团队资源管理器 | 主页 | 连接”(图 9,标记 1)。“连接”面板在面板菜单下显示一个蓝色的“管理连接”链接菜单(标记 2),随后是包含“托管服务提供商”垂直列表的部分(单个的 Visual Studio Team Services 和 GitHub 窗口称为服务邀请)。
图 9 团队资源管理器连接面板服务提供商选项
如果你不小心关闭了服务邀请(通过单击 X,如标记 3 所示),除非修改注册表,否则你将无法重新获取它。如果出现这种情况,你可以使用“管理连接”下拉菜单(标记 4)来访问服务。“团队资源管理器连接”面板内的其他信息也存储在注册表中,例如最近使用的 Git 存储库信息。如果你想要检查该注册表项,它位于 HKCU\Software\Microsoft\VisualStudio\14.0\TeamFoundation(注意 GitSourceControl 和其下方的 TeamExplorer 分支)。
请记住,你能在 Git 存储库高效地工作的其中一个原因是,当你将某个远程存储库克隆到本地存储库时,你会获得该存储库的整个历史记录,其中包含每个提交、分支和合并操作的详细信息。当你重新进入联机状态时,Git 确定你的本地存储库进行了哪些更改(与远程存储库相比),而对于能够成功执行提取、拉取、推送和同步操作来说,这一点很重要。
若要从本地网络共享克隆存储库,请转到“本地 Git 存储库”部分并单击“克隆”链接。系统将要求你“输入要克隆的 Git 存储库的 URL”,但其过程实际上要宽松地多。你还可以在你当前工作站(如 c:\-Repos\FinancialWizardApp)上的位置输入任何有效路径、向网络共享 (\\1.2.3.4\Repos\FinancialWizardApp) 输入 UNC 路径或输入映射驱动器路径(\\computername\Repos\FinancialWizardApp)。只需确保在指定位置有 .git 文件夹,且 Visual Studio 能读取它。
在图 10(标记 1)中,我输入了映射驱动器字母,以表示我的网络上包含我的远程存储库的位置,而且在我的网络上操作的其他开发人员也可以执行相同的操作。提供远程存储库的位置后,为克隆的存储库指定本地路径(标记 2)。接下来,决定是否以递归方式克隆子模块,然后单击“克隆”。
图 10 在各种远程存储库位置运行
需要特别注意的是,当你连接到文件服务器上的远程存储库时,你将无法发布拉取请求。该功能需要 Git 服务器(例如 Team Foundation Server 或 GitHub)。但是,你可以创建、合并和管理分支并查看历史记录和同步更改(通过提取、拉取和推送进行)。
当你想要从 Visual Studio Team Services 克隆存储库,首先需要登录到 Team Foundation Server。若要开始登录,请选择“Visual Studio 团队 | 管理”菜单项,或转至团队资源管理器的“连接”面板并单击“管理连接”,然后选择“连接至团队项目”。你会看到出现了“连接到 Team Foundation Server”对话框。单击“服务器”,你会看到一个对话框,如图 10,标记 4 中所示。请注意,你可以使用此对话框连接到任何可用的 Team Foundation Server,但如果你想要连接到 Visual Studio Team Services 帐户,请输入它的 URL。当你单击“确定”时,你需要登录;执行此操作后,系统将列出你的服务器,你便可以克隆该对话框。然后,你会看到一个显示两个窗格的对话框:左窗格显示你的团队项目集合,右窗格显示该集合中的团队项目。选中你想要在 Visual Studio 中显示的这些团队项目旁的复选框,然后单击“连接”。现在导航至“团队资源管理器连接”面板,你会看到列出的存储库(图 10,标记 3)。
GitHub 仅提供作为版本控制系统 (VCS) 的 Git,而 Visual Studio Team Services 默认提供分散式 Git,并将集中式 TFVC 作为替代方法。这两个 VCS 工作方式完全不同,需要不同的 IDE 工具。幸运的是,“团队资源管理器”窗口专门设计用于识别和处理这两种 VCS 类型。实际上,当你连接到你的 Visual Studio Team Services 服务器并添加项目时,团队资源管理器通过使用红色的 Git 图标(图 10,标记 3)以显示哪个项目处于 Git 版本的控制下;未被 Git 图标修饰的项目处于 TFS 版本的控制下。
所以,为了克隆某个 Visual Studio Team Services 远程存储库,其必须为 Git 存储库。你可以右键单击列表中的任意 Git 存储库并选择“克隆”。我选择了克隆 GitProject 项目,这会将我转至“本地 Git 存储库”部分,该部分具有填充的远程存储库信息,以及默认本地存储库路径(图 10,标记 5)。克隆后,存储库出现在“本地 Git 存储库”列表中。双击将其打开,你将进入“团队资源管理器主页”面板。在这里你会看到设计用于 Visual Studio Team Services 存储库的按钮,例如“拉取请求”、“工作项”和“生成”。
如果你从 GitHub 进行克隆,则克隆远程存储库的过程非常相似。如果你有托管在 GitHub 上的私人存储库,则需要登录到你的 GitHub 帐户以对其克隆。否则,你无需具有帐户即可立即克隆公共存储库。
一般而言,只要远程存储库在网络共享上或可以从 HTTP/HTTPS 服务器获得,则可以对其克隆。目前,Visual Studio 不支持 SSH 与远程 Git 存储库进行通信。
在远程存储库运行
连接到远程存储库后,你可以返回“团队资源管理器| 主页| 设置”并单击其“存储库设置”链接。在这里,你可以查看当前存储库连接到的远程的信息(如果你在不止一个远程上工作,这项功能尤其有用)。回到“设置”面板上,如果你连接到诸如 Team Foundation Server 或 GitHub 服务,你同样会看到新链接。借助这些链接,你可以为服务配置安全性、组成员身份和门户设置等。
在“团队资源管理器 | 主页”面板上,你会看到与你的远程服务提供的选项相关的新按钮。如果你连接到由 Visual Studio Team Services 托管的远程存储库,你会看到“拉取请求”、“工作项”和“生成”的按钮。如果单击“同步”,将转到“团队资源管理器同步”面板,你可以在这里选择“同步”、“提取”、“拉取”、“发布”和“推送”。如果有无法自动解决的合并冲突,Visual Studio 会提供已选择的合并工具,以便你可以手动选择如何解决这些冲突。
最后,我将克隆 Microsoft 的开源 TypeScript 3 项目,它位于 。因为这是一个公共 Git 存储库,所以我可以使用本地 Git 存储库部分“克隆”链接直接克隆它(图 10,标记 6)。截止本文撰写之时,该存储库大约 350 MB,因此它包含很多历史记录和分支,可能需要一段时间才能完成下载。
本地存储库全部下载后,你会看到它列在“本地 Git 存储库”部分下。如果双击它,则会在“团队资源管理器主页”面板中打开(图 10,标记 7)它。在“项目”部分下,你会看到设计用于 GitHub 存储库的按钮,例如“拉取请求”、“同步”、“选取”、“脉冲”和“关系图”。其中的一些按钮会将你转至 GitHub 网站以完成所请求的操作。
如果你单击“分支”,你将进入“团队资源管理器分支”面板。进入该面板后,你会看到主分支。如果你右键单击它,则可以查看整个项目的历史记录(从 2014 年 7 月 7 日所进行的初始提交开始,至当前日期)。借助“查看历史记录”窗口,你可以使用很多不同的演示文稿查看其数据,具体取决于你在窗口的工具栏中所选的选项(图 11,标记 1)。我选择显示的视图称为“详细视图”。它显示分支的关系图(标记 2)- 合并提交为灰色(标记 3),而非合并提交为蓝色(标记 4)- 包括提交 ID、作者的用户 ID、提交日期、提交消息和可能显示的任何标记。
图 11 “查看历史记录”提供了有关“分支”、“提交”和“合并”的详细信息
此显示使其更容易导航至分支的父分支或子分支。只需选择一个提交并使用工具栏的“转至子/转至父”导航按钮(所示的第 3 个和第 4 个按钮)。在这些情况下,分支以箭头结尾(标记 5),单击该提交(查看突出显示的行),则对连接父和子的行进行绘制(标记 6)。
Visual Studio 2015 提供了访问常见 Git 功能和很多高级 Git 功能的便捷的 GUI,这要归功于基础 LibGit2 Git 引擎。尽管它提供对 Git 几乎所有的支持,仍有一些不流行的操作(例如“存储”)需要与 Git 命令行界面进行交互。因为 Visual Studio Git 工具非常广泛,所以避开 Git 的命令行界面且没有什么冲突地完成大部分 Git 任务是可能的。毫无疑问,好奇的 Git 用户或高级 Git 用户在某些时候渴望访问裸机 Git。这些用户可以启动一个 PowerShell 交互窗口并与 Windows 命令行界面的官方 Git 进行交互(也包括在 Visual Studio 中)来满足他们的渴望。通过 GUI 和命令行选项,Visual Studio 提供令人满意的 Git,并可随时进行访问(无论你的技术水平如何)。
Jonathan Waldman
是 Microsoft 认证专家,他专门从事 Microsoft 技术和软件人体工程学。自 Microsoft 技术堆栈问世以来,他就一直致力于这一领域,并在一些显而易见的机构、政府和私营企业项目中担任领导角色。Waldman 是 Pluralsight 技术团队的成员,他制作了有关增强的 JQuery UI 小组件的商业 Wijmo 库的视频培训课程。可以通过
与他联系。
衷心感谢以下技术专家对本文的审阅: Jeremy Epling (Microsoft) 和 Edward Thomson (GitHub)Jeremy Epling 是 Microsoft 的首席项目经理,效力于 Visual Studio Team Services 和 Team Foundation Server 团队。
Edward Thomson 是 GitHub 的软件工程师,他是 O'Reilly Media 的 Git for Visual Studio 培训 () 的 作者。
Current Issue
Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.
您对此内容的反馈非常重要。请告诉我们您的想法。
更多反馈?
1500 个剩余字符
我们非常感谢您的反馈。

我要回帖

更多关于 VC6.0progress控件 的文章

 

随机推荐