关于推送到 GitHub 和 RubyGems,维护 gem 的工作流程是什么?
What is the workflow for maintaining a gem with regard to pushes to GitHub and RubyGems?
假设创建一个 repo,添加必要的代码,将 repo 推送到 GitHub,通过 gem build
构建 gem,然后通过 [=13= 将其推送到 RubyGems ].到目前为止,一切都很好。那么更新gem的过程是什么?我的意思是:
- 如果我对代码进行更改并将它们推送到 GitHub,RubyGems 是否有自动检测更改的方法,或者我是否需要再次 运行
gem build/push
?
- 是否需要在每次 git 提交时更改 gem 版本?我知道 semantic versioning,但如果我进行与 gem 的代码不直接相关的更改,例如对 README、.gemspec 文件等的编辑.
总结一下 - 维护 gem 推送到 GitHub 和 RubyGems 的工作流程是什么?
这里由您控制,github 提交与 gem push
是分开的,除非您决定 link 通过某种自动化(这是可能的,但需要一些努力和您需要进行有意的更改,所以我假设您没有)。我不建议 link 它们并在推送到 master 分支时自动发布,除非你遵循严格的 managem 特性和版本控制,并且有其他自动化来防止错误,例如持续集成。
通常:
- 当您解决问题并进行更改时,github 代码领先于已发布的 gem。
- 在某个时候,您决定制作一个 public 版本,因为已经发生了足够多的变化,在新版本中分享它会很有用。
- 然后您使用合适的提交更新存储库中的版本数据
- 你做一个发布(当我这样做时,我使用便利
rake release
,但我认为这只是包括 gem build
和 gem push
在内的几个步骤)
RubyGems 维护 gem 的每个版本的记录。如果您明智地使用版本控制,那么其他人应该能够访问您的 gem.
之前发布的版本
正如 Neil Slater 所说,git 提交与 gem 推送是分开的。
但是,我要补充一点,使用 gem id
tag your master git branch 是一个很好的做法
假设您正在构建一个新事物。您有以下提交历史
- 创建初始代码
- 添加更多功能
- 修复错误
- 完成第一个发布代码并将其推送为gem 0.0.1
- 添加附加功能并将其推送为 gem 0.0.2
- 开始进行重大更改
- 最终确定主要更改并发布为 gem 0.1.0
因此您有七次提交和三个 gem 发布。要将它们联系在一起,您需要标记:
- 提交 4 个标记为 0.0.1
- 提交 5 个标记为 0.0.2
- 提交 7 个标签作为 0.1.0
如果您将这些标签推送到 github,它们将显示为版本。
假设创建一个 repo,添加必要的代码,将 repo 推送到 GitHub,通过 gem build
构建 gem,然后通过 [=13= 将其推送到 RubyGems ].到目前为止,一切都很好。那么更新gem的过程是什么?我的意思是:
- 如果我对代码进行更改并将它们推送到 GitHub,RubyGems 是否有自动检测更改的方法,或者我是否需要再次 运行
gem build/push
? - 是否需要在每次 git 提交时更改 gem 版本?我知道 semantic versioning,但如果我进行与 gem 的代码不直接相关的更改,例如对 README、.gemspec 文件等的编辑.
总结一下 - 维护 gem 推送到 GitHub 和 RubyGems 的工作流程是什么?
这里由您控制,github 提交与 gem push
是分开的,除非您决定 link 通过某种自动化(这是可能的,但需要一些努力和您需要进行有意的更改,所以我假设您没有)。我不建议 link 它们并在推送到 master 分支时自动发布,除非你遵循严格的 managem 特性和版本控制,并且有其他自动化来防止错误,例如持续集成。
通常:
- 当您解决问题并进行更改时,github 代码领先于已发布的 gem。
- 在某个时候,您决定制作一个 public 版本,因为已经发生了足够多的变化,在新版本中分享它会很有用。
- 然后您使用合适的提交更新存储库中的版本数据
- 你做一个发布(当我这样做时,我使用便利
rake release
,但我认为这只是包括gem build
和gem push
在内的几个步骤)
RubyGems 维护 gem 的每个版本的记录。如果您明智地使用版本控制,那么其他人应该能够访问您的 gem.
之前发布的版本正如 Neil Slater 所说,git 提交与 gem 推送是分开的。
但是,我要补充一点,使用 gem id
tag your master git branch 是一个很好的做法假设您正在构建一个新事物。您有以下提交历史
- 创建初始代码
- 添加更多功能
- 修复错误
- 完成第一个发布代码并将其推送为gem 0.0.1
- 添加附加功能并将其推送为 gem 0.0.2
- 开始进行重大更改
- 最终确定主要更改并发布为 gem 0.1.0
因此您有七次提交和三个 gem 发布。要将它们联系在一起,您需要标记:
- 提交 4 个标记为 0.0.1
- 提交 5 个标记为 0.0.2
- 提交 7 个标签作为 0.1.0
如果您将这些标签推送到 github,它们将显示为版本。