所以我正在研究一个RoR项目。 我需要分配repo并正在修复我自己的fork上的问题,发出拉动请求以进行非平凡的更改。主要的repo所有者请求为问题修复创建分支。
使用rvm,bundle和git branches处理这个问题的正确方法是什么?
我的问题可能与不完全理解RoR / rvm,gems和bundle有关。我是否需要为我创建的每个新分支运行bundle install
?我遇到了问题bundle install
在主分支中摆弄Gemfile后出现问题(所有者的主仓库中有一个错误),但在新分支中再次失败。
答案 0 :(得分:1)
理论上,只需在向Gemfile添加新宝石时运行bundle install
。
除非你同时在多个版本的Ruby上进行测试,否则RVM根本就不应该参与其中。
关于分支,我通常做的是,分叉存储库,为大型功能创建分支。完成后,我发出该分支的拉取请求,一旦被接受,我将其合并到我的本地分支中,冲洗并重复。
答案 1 :(得分:1)
RVM - Ruby版本管理器。这不应该真正发挥作用,您可能需要更改版本ONCE或TWICE来解决问题,但您几乎总是会使用最新的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
快乐的编码!
-Brian