如何查看特定提交应用于哪个版本的 Rails?

Posted

技术标签:

【中文标题】如何查看特定提交应用于哪个版本的 Rails?【英文标题】:How see which version of Rails a particular commit was applied to? 【发布时间】:2021-01-25 16:48:16 【问题描述】:

在研究问题时,我经常在 Rails 中遇到解决该问题的提交。

但是有人怎么看Rails 的哪个版本首先包含了这个修复?

例如,在此 Rails 提交中修复了缺少 /tmp/pid 文件夹的问题: https://github.com/rails/rails/commit/70e6ff2ed8596eb9bd6dcce87cb3f14015638d70

但是我如何才能看到哪个版本的 Rails 包含了该修复?

【问题讨论】:

Rails 发行说明包括对每个实施项目的拉取请求,不幸的是,这与您想要的相反。请参阅 guides.rubyonrails.org 并向下滚动到发行说明。 【参考方案1】:

要查看哪个特定版本包含某个提交,您需要查看存储库中的标签:

max@pop-os ~/p/rails> git tag --contains 70e6ff2ed8596eb9bd6dcce87cb3f14015638d70
v6.0.1
v6.0.1.rc1
v6.0.2
v6.0.2.1
v6.0.2.2
v6.0.2.rc1
v6.0.2.rc2
v6.0.3
v6.0.3.1
v6.0.3.2
v6.0.3.3
v6.0.3.4
v6.0.3.rc1

git branch --contains <commit id> 也可用于查找尚未标记的新提交。例如尚未“发布”的 master 上的提交。

为此,您首先需要从 Github 克隆存储库并获取所有分支(或至少是稳定分支)。

【讨论】:

SHORTCUT:@max 答案似乎健壮且正确,并且被接受,但在本地克隆 rails 似乎有点麻烦。我确实发现在查看提交时,提交编号旁边是一个标记为“父”的链接,如果我单击该“父”链接几次,我最终会“努力达到”一个显示 Rails 版本的提交

以上是关于如何查看特定提交应用于哪个版本的 Rails?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 github 获取 gem 的特定“提交”?

如何使用 Resharper 准确找出哪个规则将语法突出显示应用于 VS2022 中的特定代码元素?

如何找出在哪个提交中添加了特定代码?

如何将css应用于jqgrid标题列

如何在 Rails 应用程序中查看 ENV 变量?

阻止用户返回并查看以前提交的表单Rails