使用标签标记特定的 Git 提交
Git 允许您将标签附加到提交,以标记项目历史中的特定位置,以便将来参考。 例如,您可以为对应某个发行版本的提交添加标签,而不是 创建一个分支来保留版本快照。
在 GoLand 中,您可以在 Git 分支 弹出窗口中执行标签相关操作。 要调用该弹出窗口,请在主窗口标题栏中点击当前签出分支名称的 Git 小组件:

您也可以在 分支窗格中的 Git 工具窗口 Alt+9 中管理标签。

将标签分配给提交
打开 Git 工具窗口 Alt+9 并切换到 日志 选项卡。
定位所需的提交,右键点击并在上下文菜单中选择 新建标签。
输入新标签的名称并点击 确定。 标签将显示在 日志 选项卡中的 Git 工具窗口 Alt+9:

将附注标签分配给提交
附注标签的元数据包含创建者的名称,您可以据此查看是谁添加的标签。
在主菜单中,依次选择 。
在打开的 标签 对话框中,在 Git 根目录 下选择要在其上打标签的本地版本库路径,并指定新标签的名称。
在 提交 字段中指定要打标签的提交。 您可以输入提交哈希,也可以使用表达式,例如:
<branch>~<number of commits backwards between the latest commit (HEAD) and the required commit>。 有关更多信息,请参阅 Git 的 提交命名约定。在 消息 字段中输入注释以创建一个 附注标签(如果为空,则会创建常规标签)。
点击 创建标签。
重新分配已有标签
如果您将标签放在了错误的提交上,并想重新分配它(例如用于指明发行版本的提交),请按以下步骤操作:
在主菜单中,依次选择 Git | 新建标签。
在 标签 对话框的 标签名称 字段中指定要重新分配的已存在标签的名称。
选择 强制 选项。
在 提交 字段中指定标签要移动到的提交,并点击 创建标签。
跳转到已标记的提交
打开 Git 工具窗口 Alt+9 并切换到 日志 选项卡。
点击工具栏中的 前往哈希/分支/标签 图标
,或按下 Ctrl+F。

输入标签名称(代码补全将根据您输入的内容提示标签名称),然后按 Enter。
签出已标记的提交
假设您使用标签对对应发行版本的提交进行了标记,现在希望查看该时间点的项目快照。 您可以通过签出已标记的提交来完成此操作。 请选择以下操作之一:
定位您想签出的已标记提交,右键点击并在上下文菜单中选择 签出版本。
在 Git 工具窗口 Alt+9 中,展开 标签 节点,选择所需标签,并在上下文菜单的操作列表中选择 签出。
打开分支弹出窗口 ,点击 签出标签或版本 并输入标签名称(GoLand 会根据输入提供匹配的标签及版本)。
打开分支弹出窗口 ,展开 标签 节点,选择所需标签,并在上下文菜单的操作列表中选择 签出。
请注意,此操作将导致出现 分离 HEAD 状态,意味着您当前不在任何分支上。 您可以使用该快照进行查看和实验。 但如果您要在该快照基础上提交更改,则需要 创建分支。
获取标签
您可以设置 Git 在 获取更改自上游时获取标签的方式。
按 Ctrl+Alt+S 打开设置,然后选择 。
选择首选项:
自动 :遵循配置文件中指定的获取规则。
例如,您可以为不同的远程存储库指定不同的获取规则。 请查阅 git fetch 文档以了解可用选项。
如果未指定 fetch 规则,则默认情况下,Git 仅获取指向从远程仓库下载的提交的标签。
同步 :获取更新时,删除所有在远程中已不存在的本地标签(与
git fetch --prune-tags相同)。始终 :获取更新时始终从远程获取所有标签(与
git fetch --tags相同)。从不 :不获取那些指向从远程仓库下载的提交的标签(与
git fetch --no-tags相同)。
推送标签
默认情况下,执行 push 操作时,标签不会被推送到远程仓库。
要推送特定标签,可调用 分支弹出窗口 或 Git 工具窗口 Alt+9 ,展开 标签 节点,选择所需标签并从上下文菜单的操作列表中选择 推送到 origin。
要将多个标签与提交一同推送:
在 推送提交 对话框中,勾选左下角的 推送标签 复选框。

在下拉菜单中,选择需要推送的标签:
如果希望推送所有标签,包括不属于即将推送的所选分支的标签,请选择 全部 (等同于
push --tags)。如果希望仅推送属于即将推送的所选分支的标签,请选择 当前分支 (等同于
push --follow-tags)。
单击 推送。