我目前正在尝试使用git版本系统来构建一个软件包管理系统(类似于apt / yum / zypper等),这很有趣,我正在寻找一种方法来知道最新的稳定版本当前分支的。
示例:Linux内核
我想从3.18分支中知道什么是最新标记(当前为“ 3.18.9”),如果可能的话,是提交标识码(当前为“ d1034e83796a0433194f67c2a8c4abf0f6138b01”)。
我如何做到而不必下载所有存储库?
可能有一个更简单的变体,但是以下内容将使您获得对master
分支的最后一次提交的提交SHA-1 :
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
和--branch
选项来限制复制的数据量git 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 clone文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句