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

gr8qqesn  于 11个月前  发布在  Ruby
关注(0)|答案(2)|浏览(97)

我正在尝试创建一个发布历史,我如何才能确定一个gem的特定版本是从rubygems.com?上的哪个提交创建的当我提取 *.gem存档时,它不包括任何提交的日志记录。
编辑:发布版本被推送到rubygems,而没有用相关的标签更新github repo,我想用适当的发布标签回填github。

jexiocij

jexiocij1#

答案很简单:你不能!
Rubygems上的gem版本和Git中的commits或tags是两个完全不同的概念,没有任何共同之处。
你已经发现gem不包含任何关于git使用或特定提交的信息。如果你仔细想想,gem不包含关于所使用的版本控制系统的信息是有道理的:

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

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

m0rkklqb

m0rkklqb2#

通常在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历史记录,你应该将repo克隆到你的本地机器上。要做到这一点,点击repo主页顶部的Clone or download按钮。如果你从那里复制URL,可以转到你的终端并输入

git clone <paste repo url here>

字符串

相关问题