【问题标题】:How to always checkout latest tag如何始终结帐最新标签
【发布时间】:2017-05-26 14:04:46
【问题描述】:

我想维护一个目录,该目录将始终使用 git 存储库中的最新标签保持最新。我尝试了this 解决方案,但是,如果我这样做一次,我最终会处于分离的 HEAD 状态,如果我这样做git describe --tags,更新的标签不会再出现在这里。有没有更好的方法,还是我错过了什么?

【问题讨论】:

    标签: git


    【解决方案1】:

    标签的签出将始终处于分离的 HEAD 状态,因为不应移动标签,即使您提交也是如此。

    【讨论】:

    • 我明白了,但我需要一个类似于 repo 的只读副本,始终与最新标签同步。我怎样才能做到这一点?
    • 为了检查“最新标签”并假设 git 标签不会按时间顺序显示它们,您可以分析每个标签并查看其中哪一个是最新的并检查出来。如果您想知道如何在 bash 脚本中分析何时完成提交,我会查看修订本身的提交时间(使用 git cat-file -p )。然后就是进行一段时间的阅读周期分析每个标签......然后它变成一个“bash”问题,而不是一个 git 问题。
    • 问题是,如果我已经在分离的 HEAD 中,它根本不会列出任何新标签:只有我之前签出的标签。
    • 处于分离的 HEAD 状态对显示新标签没有影响。我猜你错过了一次获取?
    【解决方案2】:

    其实你想要的更像是一个分支的行为而不是标签。

    您可以维护一个分支,在其中合并每个创建的新标签。

    然后你检查这个分支并定期从远程简单地git pull

    顺便说一句。要查看新标签,您必须先

    git 获取

    您签出的内容并不重要(就像@Edmundo 已经说过的那样)。

    当您执行git describe --tags 时,会查询repo 的本地镜像。不发生网络流量。两个更新你的本地镜像到fit fetch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      相关资源
      最近更新 更多