github的开源项目,如何确定某版本是否包含某功能

背景

在网上搜资料的时候,经常看到大神给出一个GitHub的commit链接,说此项目已经加上了此功能,但是我不确定是从哪个版本开始的,研究了一下,得到如下方法。

通过commit链接找版本

例如这个commit,可以本地clone代码后,使用如下命令找到:

// 查看哪个分支包含这个commit
$ git branch --contains 1123def4dd649f35c4796f635e0222d7361fe738
  contains
* main

// 查看哪个tag包含这个commit
$ git tag --contains 1123def4dd649f35c4796f635e0222d7361fe738
v0.1.6
v0.1.7
v0.1.8

当然,直接打开链接在GitHub也是可以看到的,如图所示:

github的开源项目,怎么确定某版本是否包含某功能

通过GitHub PR找到版本

有的时候需要看PR,然后以确定哪些版本已经有这个PR了,先查看PR,比如如下两个

https://github.com/cilium/ebpf/pull/947
https://github.com/cilium/ebpf/pull/951

通过查看页面,可以看到一个状态是closed的,一个merged,所以只有后者被merged到了主版本,在页面进一步查看merge的commit id如下(不太好找,需要仔细看):

ti-mo merged commit b673899 into cilium:master on Mar 3, 2023

这样就可以得到commit id,随后就可以知道影响的版本号了。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!