# 使用标签标记特定 Git 提交

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

Git 允许您将标签附加到提交以标记项目历史中的某些点，以便将来参考。 例如，您可以标记与某个发行版本对应的提交，而不是 [创建一个分支](manage-branches.html#create-branch)来捕获发行快照。

在 IntelliJ IDEA 中，您可以在 VCS 微件中执行与标记相关的操作。 要调用它，请在主窗口标题中点击当前签出的分支名称的 Git 小部件：

![VCS 微件中的标记节点](https://resources.jetbrains.com/help/img/idea/2026.3/tags_in_branches_popup.png)

您还可以在 [分支窗格](log-tab.html#BranchesPane)的   Git  工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS))中管理标签。

![分支窗格](https://resources.jetbrains.com/help/img/idea/2026.3/branches_pane.png)

Procedure: 为提交分配标签

1. 打开   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 并切换到   日志   标签页。

2. 找到您需要的提交记录，右键点击它，然后从上下文菜单中选择   新建标签  。

3. 请输入新标签的名称，然后点击   OK  。 该标签将显示在   日志   选项卡的   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 中：

![标记提交](https://resources.jetbrains.com/help/img/idea/2026.3/tagged_commit.png)

Procedure: 为提交分配注释标签

元数据中包含了创建  注释 标签的用户名称，因此您可以检查是谁放置了它们。

1. 在主菜单中，前往  `Git | 新标签` 。

2. 在   标签  弹窗中， 在   Git 根目录  下，选择您想要标记提交的本地仓库路径，并指定新标签的名称。

3. 在   提交   字段中，指定您要标记的提交。 您可以输入提交哈希值，或使用表达式，例如：  `<branch>~<从最新提交 (HEAD) 到所需提交之间的回退提交数>` 。 有关详细信息，请参阅 Git [commit naming](http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#naming-commits) 约定。

4. 在   消息   字段中输入一些评论以创建一个  注释 标签（如果为空，将创建一个常规标签）。

5. 点击   创建标签  。

> **Note:**
> 如果在   日志   工具栏的   快速设置   下启用了   紧凑引用视图   选项，标记名称会隐藏在分支名称后面且不可见。

> **Tip:**
> 您还可以在   日志   选项卡的   版本控制   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 中右键点击某个提交，并从上下文菜单中选择   新建标签   ，如果您不需要指定任何其他选项。

Procedure: 重新分配现有标签

如果您在错误的提交上放置了标签，并希望重新分配它（例如，指示发布版本的提交），请执行以下操作：

1. 在主菜单中，前往   Git | 新标签  。

2. 在   标签  对话框中，在   标签名称  字段中指定您要重新分配的已存在标签的名称。

3. 请选择   强制  选项。

4. 在   提交  字段中，指定要移动标签的 commit，然后点击   创建标签  。

Procedure: 跳转到标记的提交

1. 打开   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 并切换到   日志   标签页。

2. 请点击工具栏上的   转到哈希/分支/标签  图标 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.toolwindow.find.svg)，或者按 `Ctrl+F` (Windows), `⌘ F` (macOS), `⌘ F` (IntelliJ IDEA Classic (macOS)), `⌘ F` (macOS System Shortcuts), `Ctrl+F` (XWin), `Ctrl+F` (GNOME), `Ctrl+F` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+F` (Sublime Text), `⌘ F` (Sublime Text (macOS)), `Ctrl+F` (Visual Studio), `⌘ F` (Visual Studio (macOS)), `Ctrl+F` (NetBeans), `Ctrl+F` (Eclipse), `Ctrl+F` (Eclipse (macOS))键。

![转到 Hash/Branch/Tag 图标](https://resources.jetbrains.com/help/img/idea/2026.3/go_to_hash.png)

3. 输入标签名称（ [代码补全](auto-completing-code.html) 会在您输入时建议标签名称），然后按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

Procedure: 查看标记的提交

假设您用标签标记了与发行版本对应的提交，现在您想查看那个时间点的项目快照。 您可以通过检出带标签的提交来实现此操作。 请执行以下操作之一：

* [定位](#jump-to-tag) 您想要签出的已标记提交，右键点击它并从上下文菜单中选择   检出修订  。

* 在   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 中，打开   标签   节点，选择所需标记，然后从上下文菜单的操作列表中选择   检出  。

* [调用 VCS 微件](manage-branches.html#invoke-branches-popup)，点击   签出标签或修订版   并输入标记名称（IntelliJ IDEA 会在您输入时提供匹配的标记和修订列表）。

* [调用 VCS 微件](manage-branches.html#invoke-branches-popup)，打开   标签   节点，选择所需标记，然后从上下文菜单的操作列表中选择   检出  。

请注意，此操作会导致出现一个 [分离的 HEAD](https://git-scm.com/docs/git-checkout#_detached_head)，这意味着您不再处于任何分支中。 您可以使用此快照进行检查和实验。 但是，如果您想在此快照之上提交更改，则需要 [创建一个分支](manage-branches.html#create-branch)。

Procedure: 提取标记

当您从上游 [获取更改](sync-with-a-remote-repository.html#fetch) 时，您可以设置 Git 获取标签的方式。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `版本控制 | Git | 获取标签` 。

2. 选择首选选项：

* 自动 ：遵循配置文件中指定的获取规则。 例如，您可以为不同的远程指定不同的提取规则。 查看 [git fetch](https://git-scm.com/docs/git-fetch) 文档以了解可用选项。 如果未指定提取规则，则默认情况下，Git 仅提取指向从远程仓库下载的提交的标记。

* 同步 ：在获取更新时，移除在远程上已不存在的本地标签（与 `git fetch --prune-tags` 相同）。

* 始终 ：在获取更新时，始终从远程获取所有标签（与 `git fetch --tags` 相同）。

* 从不 ：不要获取指向已从远程仓库下载的提交的标签（与 `git fetch --no-tags` 相同）。

Procedure: 推送标签

默认情况下，执行  `推送`  操作时，不会将标记发送到远程仓库。

要推送特定标记，可以调用 [VCS 微件](manage-branches.html#invoke-branches-popup) 或   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS))，打开   标签   节点，选择所需标记，然后从上下文菜单的操作列表中选择   推送到源  。

要将多个标记与提交一起推送：

1. 在   推送提交   对话框中，选择左下角的   推送标签   复选框。

![推送提交 对话框中的 推送标签 选项](https://resources.jetbrains.com/help/img/idea/2026.3/push_tags.png)

2. 在下拉菜单中，选择您要推送的标签：

* 如果想要推送所有标记，包括不属于即将推送的所选分支的标记，请选择 全部 (等同于 `push --tags` )。

* 选择 当前分支 如果您只想推送属于您即将推送的选定分支的标签（相当于 `push --follow-tags` ）。

3. 点击   推送  。

Procedure: 删除标签

* [定位](#jump-to-tag) 一个标记的提交，右键点击它，然后从上下文菜单中选择   标签 <tag_name> | 删除  。

* 在   Git   工具窗口 `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) 中，打开   标签   节点，选择所需标记，然后从上下文菜单的操作列表中选择   删除  。

* [调用 VCS 微件](manage-branches.html#invoke-branches-popup)，打开   标签   节点，选择所需标记，然后从上下文菜单的操作列表中选择   删除  。

