使用标签标记特定的 Git 提交
Git 允许您将标签附加到提交,以标记项目历史中的特定位置,便于将来引用。 例如,您可以为对应发布版本的提交添加标签,而不是 创建分支来捕获发布快照。
在 PyCharm 中,您可以在 VCS 微件中对标签执行操作。 要调出该窗口,请在主窗口标题栏中点击带有当前已检出分支名称的 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 中,打开 标签 节点,选择所需的标签,并在上下文菜单的操作列表中选择 检出。
调用 VCS 微件 ,点击 检出标签或修订 并输入标签名称(PyCharm 会在您输入时提供匹配的标签和修订列表)。
调用 VCS 微件 ,打开 标签 节点,选择所需的标签,并在上下文菜单的操作列表中选择 检出。
请注意,此操作会导致处于 分离的 HEAD 状态,这意味着您不再位于任何分支上。 您可以使用此快照进行检查和实验。 但是,如果您想要在此快照之上提交更改,则需要 创建分支。
获取标签
您可以设置 Git 在从上游 获取更改 时获取标签的方式。
按下 Ctrl+Alt+S 以打开设置,然后选择 。
选择所需选项:
自动 :遵循配置文件中指定的获取规则。
例如,您可以为不同的远程存储库指定不同的获取规则。 请参阅 git fetch 文档,了解可用选项。
如果未指定提取规则,则默认情况下,Git 仅提取指向已从远程仓库下载的提交的标签。
同步 :在获取更新时,移除远程上已不存在的任何本地标签(等同于
git fetch --prune-tags)。始终 :在获取更新时,始终从远程获取所有标签(等同于
git fetch --tags)。从不 :不获取指向从远程存储库下载的提交的标签(等同于
git fetch --no-tags)。
推送标签
默认情况下,执行 push 操作时,不会将标签发送到远程存储库。
要推送特定标签,请调用 VCS 微件 或 Git 工具窗口 Alt+9 ,打开 标签 节点,选择所需的标签,并在上下文菜单的操作列表中选择 推送到 origin。
要与提交一起推送多个标签:
在 推送提交 对话框中,选中左下角的 推送标签 复选框。

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