在GitHub存储库中创建标记

Tan*_*mik 799 git github git-tag

我在GitHub中有一个存储库,我需要标记它.我在shell中标记,但在GitHub上它没有显示出来.我还有什么要做的吗?

我在shell中使用的命令是:

git tag 2.0
Run Code Online (Sandbox Code Playgroud)

现在当我键入git tag它时显示:

2.0
Run Code Online (Sandbox Code Playgroud)

所以似乎标签存在,对吗?

存储库是:https://github.com/keevitaja/myseo-pyrocms.

如何让这个标签显示在GitHub上?我的标签在哪里?

小智 1302

您可以使用以下命令为GitHub创建标记:

  • Git命令行,或
  • GitHub的网络界面.

从命令行创建标记

要在当前分支上创建标记,请运行以下命令:

git tag <tagname>
Run Code Online (Sandbox Code Playgroud)

如果要在标记中包含说明,请添加-a以创建带注释的标记:

git tag <tagname> -a
Run Code Online (Sandbox Code Playgroud)

这将创建一个local标签,其中包含您所在分支的当前状态.推送到远程仓库时,默认情况下不包含标签.您需要明确说明要将标签推送到远程仓库:

git push origin --tags
Run Code Online (Sandbox Code Playgroud)

官方Linux Kernel Git文档中git push:

--tags
Run Code Online (Sandbox Code Playgroud)

除了在命令行中明确列出的refspec之外,还会推送refs/tags下的所有引用.

或者,如果您只想推送单个标签:

git push origin <tag>
Run Code Online (Sandbox Code Playgroud)

另请参阅我如何使用Git将标签推送到远程存储库的答案有关上述语法的更多详细信息.

通过GitHub的Web界面创建标签

您可以在他们的创建版本帮助页面上找到GitHub的相关说明.以下是摘要:

  1. 单击我们的存储库页面上的版本链接,

    截图1

  2. 单击" 创建新版本"或" 草拟新版本",

    截图2

  3. 填写表单字段,然后单击底部的发布版本,

    截图3 截图4

  4. 在GitHub上创建标记后,您可能还想将其提取到本地存储库中:

    git fetch
    
    Run Code Online (Sandbox Code Playgroud)

  • 在github中的@RandomDSdevel,release只是一个标签.您可以从命令行创建标记并将其推送到github远程.标签将在githubs网页上显示为发布. (7认同)
  • 我认为这不再起作用了。我不再看到“起草新版本”按钮。 (5认同)
  • @IuriG.:嗯,是的,但你不应该创建不会被GitHub自动获取的标签作为发行版......?(当我最初创建你回复的评论以及你的回复_this_一个是回复时,标签至少_used_自动变成版本,但我不知道是否仍然如此&thinsp;通过你的答案中解释的工作流程提示这不再是真的.我刚刚向GitHub提交了一个支持请求,但他们当时有一些支持积压,所以我的请求被关闭了.) (4认同)
  • 通过Github界面,您只能创建轻量级标签。 (2认同)
  • 不幸的是,github接口不允许您标记提交,除非它是在最近24小时内或在最近10次(?或大约?)提交中。 (2认同)

小智 66

创建标签

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
Run Code Online (Sandbox Code Playgroud)

-m表示该特定标记的消息.我们可以在这里写出要标记的功能摘要.

轻量级标签:

标记提交的另一种方法是轻量级标记.我们可以通过以下方式完成:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0
Run Code Online (Sandbox Code Playgroud)

推标签

要推送特定标签,您可以使用以下命令:

git push origin v1.0.3
Run Code Online (Sandbox Code Playgroud)

或者,如果要推送所有标记,请使用以下命令:

git push --tags
Run Code Online (Sandbox Code Playgroud)

列出所有标签:

要列出所有标记,请使用以下命令.

git tag
Run Code Online (Sandbox Code Playgroud)

  • @garfbradaz当你创建一个标签时,它指向最新的提交,所以之后。 (6认同)

kjd*_*n84 63

您只需在运行git tag 2.0命令后按下标记即可.

所以git push --tags现在就做.

  • 我宁愿建议使用`git push v2.0`而不是`--tags`,可能还有其他标签不应该被推送. (36认同)
  • @kjdion84不,如果存在过时的标签,这也是一个问题:所有标签总是被获取,当有人使用“--tags”时,很难摆脱它们。 (3认同)
  • 或`git push origin v2.0` (2认同)
  • @tschoppi,您可以使用“git push --follow-tags”来确保仅推送与您实际推送的提交相关的标签 (2认同)

off*_*dal 19

如果你想像我一样标记一个特定的提交

这是执行此操作的命令:-

例子:

git tag -a v1.0 7cceb02 -m "Your message here"
Run Code Online (Sandbox Code Playgroud)

7cceb02提交 id 的开始部分在哪里。

然后,您可以使用 推送标签git push origin v1.0

您可以git log显示当前分支中的所有提交 ID。


Sur*_*agi 7

使用源树

以下是当您从 master 发布构建时创建 GitHub Tag的简单步骤。

  1. 打开 source_tree 选项卡

    步骤1

  2. 右键单击左侧导航部分中显示的标签中的标签部分

    第2步

  3. 单击新标签()

  4. 将出现一个对话框,用于添加标签和删除标签
  5. 单击从给定名称添加标签到标签(代码的首选版本名称)

    步骤3

  6. 如果您想将 TAG 推送到远程,请在创建 TAG 参考时:第 5 步,其中提供复选框将 TAG 推送到源 ,选中该复选框,推送的标签将显示在远程存储库上

  7. 如果在创建标签时忘记选中Push to origin框,您可以稍后通过右键单击创建的标签,然后单击Push to origin 来完成此操作。 在此输入图像描述

  • 这个答案解释了如何使用 Sourcetree 创建本地标签,但问题是如何将标签推送到远程存储库(在本例中为 GitHub)。您在第 6 步中说过要执行此操作,但省略了相关说明。 (2认同)

Syl*_*ubo 6

注意:在Lawakush Kurmi的答案git tag -a v1.0)中的命令中-a使用了标记。该标志告诉Git创建带注释的标志。如果您不提供标志(i.e. git tag v1.0),则会创建所谓的轻量级标签。


建议使用带注释的标签,因为它们包含许多其他信息,例如:

  • 制作标签的人
  • 标签制作的日期
  • 标签消息

因此,您应该始终使用带注释的标签。


Nes*_*ric 5

这完全取决于您要创建的标签类型:

  • 如果你想创建注释标签,以显示额外的元数据,你可以做下列方式:git tag -a v1.0.0
  • 另一方面,轻量级标签用于为您的提交“添加书签”以供私人使用:git tag v1.0.0.

还有一些其他标签功能,例如:

  • 列出标签 - git tag -l -n3. 该命令列出所有现有标签,最多 3 行标签消息。默认 -n 只显示第一行。
  • 标签详情 - git show <tag_identifier>. 它显示了您需要了解的有关特定标签的所有信息。
  • 排序标签 - git tag --sort=<type>
  • 发布标签 - git push origin v1.0. 您可以单独 git push 标签,也可以运行 git push --tags 一次推送所有标签。

请务必查看此标签相关文章以获取更多相关信息。