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

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

为提交分配标签
打开 Git 工具窗口 Alt+9 并切换到 日志 标签页。
找到您需要的提交记录,右键点击它,然后从上下文菜单中选择 新标记。
请输入新标签的名称,然后点击 OK。 该标签将显示在 日志 选项卡的 Git 工具窗口 Alt+9 中:

为提交分配注释标签
元数据中包含了创建 注释标签的用户名称,因此您可以检查是谁放置了它们。
在主菜单中,前往 。
在 标记 弹窗中, 在 Git 根目录 下,选择您想要标记提交的本地仓库路径,并指定新标签的名称。
在 提交 字段中,指定您要标记的提交。 您可以输入提交哈希值,或使用表达式,例如:
<branch>~<number of commits backwards between the latest commit (HEAD) and the required commit>。 有关详细信息,请参阅 Git commit naming 约定。在 消息 字段中输入一些评论以创建一个 注释标签(如果为空,将创建一个常规标签)。
点击 创建标签。
重新分配现有标签
如果您在错误的提交上放置了标签,并希望重新分配它(例如,指示发布版本的提交),请执行以下操作:
在主菜单中,前往 Git | 新标签。
在 标记 对话框中,在 标记名称 字段中指定您要重新分配的已存在标签的名称。
请选择 强制 选项。
在 提交 字段中,指定要移动标签的 commit,然后点击 创建标签。
跳转到标记的提交
打开 Git 工具窗口 Alt+9 并切换到 日志 标签页。
请点击工具栏上的 转到哈希/分支/标签 图标
,或者按 Ctrl+F 键。

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

在下拉菜单中,选择您要推送的标签:
如果您想推送所有标签,包括那些不属于您即将推送的选定分支的标签,请选择 所有 (相当于
push --tags)。选择 当前分支 如果您只想推送属于您即将推送的选定分支的标签(相当于
push --follow-tags)。
点击 推送。