首页 > 解决方案 > 哪个提交是从创建的 ruby​​gems 上的特定版本?

问题描述

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

编辑:版本被推送到 ruby​​gems 没有使用相关标签更新 github repo,我想用适当的发布标签回填 github。

标签: rubyrubygems

解决方案


简单的回答:你不能!

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

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

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

也就是说,特定 gem 版本对应特定 git commit 的假设是错误的。


推荐阅读