我在 GitHub 中有一个存储库,我需要对其进行标记。我在 shell 中进行了标记,但在 GitHub 上,它没有显示出来。
我还需要做什么吗?
我在 shell 中使用的命令是:
git tag 2.0
现在,当我输入 git tag
时,它显示:
2.0
所以看起来标签是存在的,对吗?
存储库是:https://github.com/keevitaja/myseo-pyrocms。
如何让这个标签出现在 GitHub 上?我的标签在哪里?
您可以使用以下任一方法为 GitHub 创建标签:
Git 命令行,或
GitHub 的网页界面。
从命令行创建标签
要在当前分支上创建标签,请运行以下命令:
git tag <tagname>
如果您想在标签中包含说明,请添加 -a
以创建 annotated tag:
git tag <tagname> -a
这将使用您所在分支的当前状态创建一个 local
标记。推送到远程仓库时,默认情况下不包含标签。您需要明确表示要将标签推送到远程仓库:
git push origin --tags
从 official Linux Kernel Git documentation for git push
:
--tags 除了在命令行上明确列出的 refspecs 之外,所有 refs/tags 下的 refs 都会被推送。
或者,如果您只想推送一个标签:
git push origin <tag>
有关上述语法的更多详细信息,另请参阅我对 How do you push a tag to a remote repository using Git? 的回答。
通过 GitHub 的 Web 界面创建标签
您可以在他们的 Creating Releases help page 上找到 GitHub 的说明。这是一个摘要:
单击我们存储库页面上的发布链接,单击创建新版本或起草新版本,填写表单字段,然后单击底部的发布版本,在 GitHub 上创建标签后,您可能希望将其提取到你的本地存储库: git fetch
现在下一次,您可能希望在网站的同一版本中再创建一个标签。为此,请执行以下步骤:
转到发布选项卡
单击发布的编辑按钮 提供新标签的名称 ABC_DEF_V_5_3_T_2 并点击标签 点击标签后,UI 将显示此消息:非常好!当您发布此版本时,将从目标创建此标签。 UI还将提供一个选项来选择分支/提交选择分支或提交检查qa标签的“这是一个预发布”复选框,如果标签是为Prod标签创建的,则取消选中它。之后单击“更新版本”这将在现有版本中创建一个新标签。
创建标签
Git 使用两种主要类型的标签:轻量级和带注释的。
注释标签:
要在 Git 中创建带注释的标签,您只需在终端上运行以下简单命令。
$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0
-m 表示该特定标签的消息。我们可以在此处编写要标记的功能摘要。
轻量级标签:
标记提交的另一种方法是轻量级标记。我们可以通过以下方式做到这一点:
$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0
推送标签
要推送特定标签,您可以使用以下命令:
git push origin v1.0.3
或者,如果您想推送所有标签,请使用以下命令:
git push --tags
列出所有标签:
要列出所有标签,请使用以下命令。
git tag
git commit
之前还是之后添加标签?
您只需在运行 git tag 2.0
命令后推送标签。
所以现在就做git push --tags
。
git push v2.0
而不是 --tags
,可能还有其他不应该推送的标签。
--tags
时,很难摆脱它们。
git push origin v2.0
git push --follow-tags
确保仅推送与您实际推送的提交相关的标签
如果您想像我一样标记特定的提交
这是执行此操作的命令:-
例子:
git tag -a v1.0 7cceb02 -m "Your message here"
其中 7cceb02
是提交 ID 的开始部分。
然后,您可以使用 git push origin v1.0
推送标签。
您可以执行 git log
以显示当前分支中的所有提交 ID。
注意:在 Lawakush Kurmi's answer (git tag -a v1.0
) 中的命令中使用了 -a
标志。这个标志告诉 Git 创建一个带注释的标志。如果您不提供标志 (i.e. git tag v1.0
),那么它将创建所谓的轻量级标签。
建议使用带注释的标签,因为它们包含许多额外的信息,例如:
制作标签的人
标签的制作日期
标签的消息
因此,您应该始终使用带注释的标签。
这完全取决于您要创建哪种类型的标签:
如果要创建带注释的标签,以显示额外的元数据,可以通过以下方式进行:git tag -a v1.0.0。
另一方面,轻量级标签用于为您的提交“添加书签”以供私人使用:git tag v1.0.0。
还有一些其他标签功能,例如:
列出标签 - git tag -l -n3。该命令列出所有现有标签,标签消息最多为 3 行。默认情况下 -n 只显示第一行。
标签详细信息 - git show
排序标签 - git tag --sort=
发布标签 - git push origin v1.0。您可以单独 git push 标签,也可以运行 git push --tags 一次推送所有标签。
请务必查看此tag related article,了解更多相关信息。
使用源树
以下是从 master 发布构建时创建 GitHub 标记的简单步骤。
打开 source_tree 选项卡 右键单击出现在左侧导航部分的 Tag 中的 Tag 部分 单击 New Tag() 出现一个对话框以添加标签和删除标签 单击从给定名称到标签的添加标签(代码的首选版本名称) 如果您想要在远程推送 TAG,同时创建 TAG ref:第 5 步提供复选框将 TAG 推送到原点,选中它,推送标签出现在远程存储库中您可以稍后通过右键单击创建的 TAG 来执行此操作,单击 Push to origin。
要创建 git 标签,您可以通过替换标签的实际名称来简单地运行 git tag <tagname>
命令。以下是有关管理 git 标签基础知识的完整教程:https://www.drupixels.com/blog/git-tags-create-push-remote-checkout-and-much-more