codecamp

Git:使用标签来标记特定的提交

Git允许您附加标签到提交,以将项目历史记录中的某些点标记为重要,这样您可以在将来引用它们。例如,您可以标记与发行版相对应的提交,而不是创建分支来捕获发行版快照。

将标记分配给提交

如果在“日志”工具栏的“快速设置”下启用了“精简引用视图”选项,则标签名称将隐藏在分支名称后面,并且不可见。

以下是将标记分配给提交的操作步骤:

  1. 从主菜单中选择:VCS | Git | 标签。
  2. 在打开的“标签”对话框中的Git Root下,选择要在其中标记提交的本地存储库的路径,并指定新标签的名称。
  3. 在Commit字段中,指定要标记的提交。您可以输入提交哈希,或者使用一个表达式,例如:<branch>~<number of commits backwards between the latest commit (HEAD) and the required commit> (有关详细信息,请参阅 Git 提交命名约定)。
  4. 如果在“消息”字段中输入一些注释,则会创建一个带注释的标签,而不是常规标签。注释标签的元数据包含创建它们的用户的名称,因此它们允许您检查谁放置了它们。
  5. 点击“创建标签”。该标签将显示在日志视图中:
    Git

如果不需要指定任何其他选项, 也可以右键单击“日志”视图中的提交,然后从上下文菜单中选择“新建标记”。

重新分配现有的标签

如果您在错误的提交上放置了一个标签,并且想要重新分配该标签(例如,为了指示发布版本的提交),请执行以下操作:

  1. 从主菜单中选择:VCS | Git | 标签。
  2. 在“标签”对话框的“Tag Name”字段中,指定要重新分配的现有标签的名称。
  3. 选择“强制(Force)”选项。
  4. 在Commit字段中,指定标签将被移动的提交,然后单击“创建标记(Create Tag)”。

跳转到已标记的提交

  1. 打开“版本控制工具”窗口(Alt+9)并切换到“日志”选项卡。
  2. 单击工具栏上的“转到哈希/分支/标签”图标 ,或按 Ctrl+F。
  3. 输入标签名称(当您输入时,代码完成会建议标签的名称),然后按“Enter”。

签出标签提交

假设您标记了一个与带有标签的发布版本相对应的commit,现在您要在该时间点查看项目的快照。您可以通过签出一个标签提交来做到这一点。执行以下操作之一:

  • 找到要签出的已标记提交,右键单击该提交,然后从上下文菜单中选择“签出修订”。
  • 调用“分支”弹出窗口,单击“签出标记或修订”并输入标签名称。

请注意,此操作会导致分离的HEAD,这意味着您不再处于任何分支中。您可以使用此快照进行检查和实验。但是,如果要在此快照上提交更改,则需要创建一个分支。

Git集成如何取消更改
使用Git编辑项目历史记录
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }