在TFS中使用Git Tags(标签或标记),实现代码的版本管理

1、概述:

与TFVC中标记(Label)同样,Git的标签(Tag)也是TFS系统的代码管理中很是重要的一个版本管理工具。使用标签,咱们能够每一个时间点的代码注上一个通俗、而且容易记忆的名称(例如标签的名称为V1.0,V2.0.0.0等),方便开发人员对代码库中的版本有一个直观的了解。咱们能够依照标签,签出任一时间点的代码。下面咱们结合TFS 2018和Visual Studio 2017来验证如何实现Git的标签功能。git


2、建立标签

能够经过Visual Studio、命令行,浏览器等多种渠道建立标签。

1. 在VS 2017中建立标签

在Visul Studio的团队资源管理器中,打开Git代码的历史记录,可使用鼠标右键点击任一提交,并以此为基础新建一个标签,例以下图中咱们为最新的代码建立一个名称为“V2.0”的标签。浏览器

image

Figure – 在Git历史记录中新建标签服务器

image

Figure - 输入标签的名称和说明文字,点击“建立标记”工具

这样,一个名称为”V2.0“的标签就已经建立在本地的代码库中了,你能够经过刷新Git历史记录查看到新建的标签。固然,此时标签尚未同步到服务器上,咱们在后面会说明如何发布标签到服务器。测试


2. 在TFS Web Access中建立标签

TFS系统是一个但是化程度很是高的服务器软件,和微软全部的其余产品同样,为用户带来操做的便捷性。你可使用浏览器,很是方便和快速的直接在服务器上建立一个标签,操做方式以下图:命令行

image

Figure - 在TFS的Git代码库中,打开代码库的历史记录,右键点击一个提交后,新建标记3d

image

Figure - 输入标记的名称和说明后,就点击建立按钮调试


3. 在命令行中建立标签

在命令行中,使用“Git tag –a tagname –m “comment”能够快速建立一个标签。须要注意,命令行建立的标签只存在本地Git库中,还须要使用Git push –tags指令发布到TFS服务器的Git库中。对象

image

4. 为一个特定的提交建立标签

上面的目录都是基于最新的代码(HEAD)建立标签,实际上常常还须要在变动历史记录中,为以前提交的代码建立标签。blog

咱们能够在标签的名称后面填写提交编号既能够,例如git tag –a tagname commitID –m “comments”,以下图:

image

5. 在命令行中修改标签名称

若是你发现上面建立的标签名称不合适,你也能够在命令行中使用-f参数复制一个新的标签,再使用-d参数删除原来的标签,从而达到修改标签的目的,以下图:

image


2、标签同步

1. 将本地标签的标签上传的服务器

下面的命令将本地的全部标签都提交到服务器上:

Git push –-tags

image

image

2. 提交单个标签

下面的目录,修改tagname之后,能够将指定的标签提交到服务器中:

Git push origin tagname

image


4. 将TFS中建立的标签同步到本地

Git pull

image


参考资料:

1. https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE

2. http://www.cnblogs.com/danzhang (微软ALM MVP 张洪君)

3、删除标签

删除本地标签:git –d <tag name>

image

删除远程库中的标签git push orgin :V1.1

注意,标签的操做须要区分大小写,不然可能出错。

image

你也可使用浏览器在Web界面的可视化界面中,直接在TFS服务器上删除标签,以下图:

image

4、按照标签获取代码

git checkout tagName

image

5、标签和分支的区别

标签(tag)和分支(branch)是Git版本管理中常常容易混肴的概论,开发人员不太容易弄明白什么样的场景中须要对应的功能。

概论上来说:

  • 标签一个特定版本的名称。标签老是指向一个相同的对象,例如提交版本。标签指向的版本是不会被改变的。
  • 分支是代码开发支线的名称。新的提交按照时间线堆积在分支中,从而实现代码库的更新和软件功能的变化。

技术上来说:

  • 标签存储在Git库的/refs/tags目录中。它指向一个特定的提交或标签。
  • 分支存储在Git库的/refs/heads中,它只能指向到提交对象。

应用场景上来说:

  • 标签常常用来标记软件版本的名称。例如当咱们发布软件版本V1.0时,咱们会在对应的分支中为当前最新的代码建立一个名称为“V1.0”的标签。在一个分支中,随着软件发布工做的推动,一般存在许多的记录了不一样版本名称的标签。使用标签,开发人员能够快速签出须要的代码,用来从新问题、调试缺陷。
  • 分支一般在多个团队、多条功能/需求同步开发的状况下使用。开发团队基于一个初始版本(例如master)建立本身的开发分支(例如dev),在开发分支中签入本身的代码,避免影响其余团队的代码,避免修改master中国已经趋向稳定的软件代码;当开发团队在本身的分支中完成了新的软件功能后,将修改后的代码合并到主干分支中,与其余团队实现集成测试。

经过灵活运用标签和分支的功能,即使软件系统多么复杂、团队成员众多、需求频繁变动,咱们也能够将软件系统的代码结构整理得条理有序,时刻保持清晰的思路,减小发布过程当中的风险和问题。

6、其余常见操做

1. Git tag:显示全部标签

2.Git show taname:查看标签的详细信息

2. Git checkout commitID:根据提交ID获取代码


--End--

相关文章
相关标签/搜索