0

所以我正在做一个 RoR 项目。我需要对 repo 进行分叉,并正在努力解决我自己的分叉上的问题,为非平凡的更改发出拉取请求。主要 repo 所有者请求为问题修复创建分支。

使用 rvm、bundle 和 git 分支处理此问题的正确方法是什么?

我的问题可能与没有完全理解 RoR/rvm、gems 和 bundle 有关。我需要为bundle install我创建的每个新分支运行吗?bundle install在对主分支中的 Gemfile 进行了一些摆弄之后,我遇到了一些问题(在所有者的主存储库中存在错误),但随后在新分支中再次失败。

4

2 回答 2

1

理论上,您应该只需要在bundle install向 Gemfile 添加新 gem 时运行。

RVM 根本不应该涉及到这一点,除非您同时在多个版本的 Ruby 上进行测试。

关于分支,我通常做的是对存储库进行分叉,为大型功能创建分支。完成后,我对该分支发出拉取请求,一旦接受,我将其合并到我的本地分叉中,冲洗并重复。

于 2013-04-01T21:24:51.077 回答
1

RVM - Ruby 版本管理器。这不应该真正发挥作用,您可能需要更改版本一次或两次来解决问题,但您几乎总是使用最新的 ruby​​ 版本。

bundle - 使用 bundle 作为更新 gems + 依赖项的工具。专业提示 - 您可以只运行bundle而不是bundle install. 您还应该阅读不同的分组,例如

group :assets do
 gem 'sass' # or whatever
end

然后你有你的:development组(你只在开发中使用的宝石)。和:production(与发展相反)。

GIT - 这是您项目的核心和灵魂。流行的工作流程是分支

git checkout -b mybranch

然后你就处于一个可以自由玩耍的“安全区”。您进行了一些重要的更改,提交并在必要时添加您添加的文件。

git add -A

git commit -am "commit message"

然后当你完成后,你可以将新分支合并回你的主分支

git checkout master git merge mybranch

专业提示:在您周五下班之前,请在外出前提交您的更改。如果您尝试宿醉工作,很有可能造成的伤害大于好处,并且您会想要重置。

git reset --hard

祝你好运!

快乐编码!

-布赖恩

于 2013-04-01T22:04:19.727 回答