【发布时间】:2020-10-19 10:16:32
【问题描述】:
我不了解带有 git 标记的 Rails gem 开发工作流程。在开发 Rails gem 时,有一个文件 VERSION 看起来像这样:
module YourApp
VERSION = '1.0-beta-1.14'
end
该文件中的版本似乎很重要,因为如果您在使用所述 gem 的 Rails 应用程序的 Gemfile 中存在不匹配的情况,则会引发担忧。假设您更新了 gem 并且不修改版本,那么接下来您将不会得到更改 bundle update。如果您确实升级了版本并使用该版本更新了您的 Gemfile,您将获得更新,但如果您想返回一个版本,bundle 根本无济于事。据我所知,它不会神奇地回滚到具有目标版本的最后一次提交。
那么,好吧,这就是 git 标签的用途,但这也很奇怪,因为您仍然必须照看 gem 存储库的 VERSION 文件。为什么我两个都需要?有人可以解释一下吗?例如,是否有一个简单的工作流程,我不必照看 VERSION 文件而只需要担心 git 标记?如何在开发过程中更新 gem 存储库版本,例如,如果我想要一个标签或一个 VERSION 来引用一个不断完善的更新文件集,这是否会破坏标签或 VERSION 更改的全部意义?这对我来说真的没有意义。就像我可以通过动作来获得我想要的结果,但我只是不明白这两种机制如何在最佳工作流程中协同工作。
任何想法/帮助表示赞赏
【问题讨论】:
标签: ruby-on-rails rubygems workflow versioning git-tag