Ruby on rails 在Rails应用程序中启动Ruby Gem版本控制

Ruby on rails 在Rails应用程序中启动Ruby Gem版本控制,ruby-on-rails,ruby,rubygems,gemspecs,Ruby On Rails,Ruby,Rubygems,Gemspecs,我有一个Rails应用程序,它指向github上的一个gem(还没有推送到Ruby Gems),并且它还没有版本控制,所以当我运行bundle时,它看起来像这样: gem (0.0.0) from git@github.com:company/gem.git (at master) gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0' 我一直在对gem进行修改,并希望开始对其进行版本控制,

我有一个Rails应用程序,它指向github上的一个gem(还没有推送到Ruby Gems),并且它还没有版本控制,所以当我运行bundle时,它看起来像这样:

 gem (0.0.0) from git@github.com:company/gem.git (at master)
gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'
我一直在对gem进行修改,并希望开始对其进行版本控制,这样当我努力掌握gem时,它不会破坏依赖于以前gem的Rails应用程序中的功能。我不够成熟,无法使gem向后兼容,因此我认为版本控制将是处理此问题的最佳方法

我正在寻找关于如何开始对这个gem进行版本控制的建议,是否只是将gempec更改为0.0.1,然后在我的Rails应用程序中更改gemfile以指向该版本?

根据,您应该从
0.1.0
开始,并为任何不向后兼容的更新增加主版本,如果它只引入了新功能,但向后兼容,则为次要版本;如果是bug修复之类的,则为微小版本

也就是说,如果您仅通过GitHub托管,您可以简单地将gemspec版本更改为您的首选版本,并向提交添加一个标记。添加一个标记可以使您在转移到其他版本后很容易在GitHub中找到正确的版本-例如,如果使用Bundler,您的Gemfile条目将如下所示:

 gem (0.0.0) from git@github.com:company/gem.git (at master)
gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'
您也可以使用以下(冗长的)命令集在不使用bundler的情况下执行此操作:

git clone git://github.com/your-repo/your-gem.git
cd your-gem
git checkout v0.1.0
gem build your-gem.gemspec
gem install your-gem-0.1.0.gem
如果你打算通过主机,你需要让自己成为一个帐户,然后把你的新版本推到那里。Rubygems将检测来自gemspec的版本,并使用更标准的Gemfile输入格式提供:

gem 'your-gem', '=0.1.0'
或者使用
gem
命令:

gem install your-gem -v '=0.1.0'

这个gem将只由github托管,还是将由一个集中的回购协议(例如rubygems.org)托管?非常欢迎。另一方面,我建议观看演示如何使用bundler简化构建和发布gem的过程的视频。