哪个提交是在 rubygems 上创建的特定版本?

问题描述 投票:0回答:2

我正在尝试创建发布历史记录,如何识别在 rubygems.com 上创建特定版本的 gem 的哪个提交?当我提取 *.gem 存档时,它不包含任何提交日志记录。

编辑:版本已推送到 rubygems,而没有使用相关标签更新 github 存储库,我想使用适当的发布标签回填 github。

ruby rubygems
2个回答
2
投票

简单的答案:你不能!

Rubygems 上的 gem 版本和 Git 中的提交或标签是两个完全不同的概念,没有任何共同点。

您已经发现 gem 不包含任何有关 git 使用或特定提交的信息。如果您考虑一下,gems 不包含有关所使用的版本控制系统的信息是有道理的:

  • 无需同时使用Rubygems和Git。实际上,构建 gem 时根本不需要使用任何版本控制系统。
  • 即使作者使用了版本控制系统,也有其他版本控制系统——例如 SVN 或 Mercurial。
  • 即使作者使用 Git 来跟踪源代码更改,他们仍然可以创建并上传多个不同版本的 gem,而无需同时进行一次 git 提交。
  • 即使作者对每个 gem 版本都进行了提交,那么 - 根据 gem 和 git 存储库的配置 - 两个系统都可以包含一个系统上存在但另一个系统上不存在的文件。

也就是说,特定 gem 版本对应于特定 git 提交的假设是有效的。


0
投票

一般在 rubygems.org 的 gem 页面上会有源代码的链接

从那里您应该被带到存储库,例如,如果您访问 https://rubygems.org/gems/devise,您将在页面右侧看到链接,上面写着

Source Code
应该链接到

https://github.com/plataformatec/devise/

然后您只需单击存储库顶部的

releases
或转到 https://github.com/plataformatec/devise/releases

在那里您将看到构建版本的提交。

如果您只是从 rubygems.org 下载 .gem 文件,该文件将仅包含 gem 代码本身,而不包含任何 git 历史记录。如果您想要完整的 git 历史记录,您应该将存储库克隆到本地计算机。为此,请单击存储库主页顶部的

Clone or download
按钮。如果您从那里复制网址,只需转到您的终端并输入

git clone <paste repo url here>
© www.soinside.com 2019 - 2024. All rights reserved.