获取git分支的标签

获取git分支的标签

我目前正在尝试使用 git 修订系统构建一个包管理系统(类似于 apt / yum / zypper 等),并且我正在寻找一种方法来了解最新的稳定版本当前分支的。

示例:Linux 内核

我想知道,从 3.18 分支来看,最新的标签(当前为“3.18.9”)是什么,如果可能的话,提交识别码(当前为“d1034e83796a0433194f67c2a8c4abf0f6138b01”)。

我怎样才能做到这一点而不必下载所有存储库?

答案1

可能有一个更简单的变体,但以下内容将为您提供最后一次提交到分支的提交 SHA-1 master

git show -s origin/master

origin(假设您的远程在本地存储库中被调用)。

如果你只想提交,

git show -s origin/master | awk 'NR == 1 { print $2 }'

为了确保您获得最新信息,您应该git fetch提前。引用意味着origin/master无论您本地的状态如何master,这都有效,因此您不需要这样做git pull

如果不克隆您感兴趣的存储库,您就无法在本地使用,但您可以通过使用和选项来git限制复制的数据量;例如--depth--branchgit clone

git clone --branch linux-3.18.y --depth 5 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

克隆linux-3.18.y稳定内核树分支中的最后五个历史条目。这称为浅克隆,有许多限制;看git 克隆文档了解详情。

相关内容