Ruby on rails 如何在不冻结代码的情况下从Rails 2升级到Rails 3?
我正在从Rails 2升级到Rails 3。我所做的是克隆了原始应用程序,并开始了升级过程 不幸的是,我需要继续使用Rails2并对其进行改进,因此代码中出现了变化Ruby on rails 如何在不冻结代码的情况下从Rails 2升级到Rails 3?,ruby-on-rails,git,rails-3-upgrade,Ruby On Rails,Git,Rails 3 Upgrade,我正在从Rails 2升级到Rails 3。我所做的是克隆了原始应用程序,并开始了升级过程 不幸的是,我需要继续使用Rails2并对其进行改进,因此代码中出现了变化 我还没有完成Rails 3从原始代码的升级:我是否需要冻结当前的Rails 2然后重新开始,或者有没有办法让我的原始版本升级到Rails 3,然后只接受原始版本中所做的更改并将其推到新的升级中?我会选择git进行此类工作,这是一个很好的工具 首先,您可以将源代码树初始化为git存储库,如果您在git repo中没有它的话。如果您已经
我还没有完成Rails 3从原始代码的升级:我是否需要冻结当前的Rails 2然后重新开始,或者有没有办法让我的原始版本升级到Rails 3,然后只接受原始版本中所做的更改并将其推到新的升级中?我会选择git进行此类工作,这是一个很好的工具 首先,您可以将源代码树初始化为git存储库,如果您在git repo中没有它的话。如果您已经在git中有了它,您可以跳过这些步骤,跳转到创建分支
git init .
使用git Add
添加源文件,并使用git commit
提交源文件
现在,您在git中有了一个正常工作的Rails 2应用程序,请为Rails 3修改创建升级分支:
git checkout -b rails-3
在这里,您可以修改代码以使用Rails 3。如果需要修改Rails 2部件,只需签出到主分支:
git checkout master
完成工作,提交修改,然后返回Rails 3分支并重新设置基础:
git checkout rails-3 && git rebase master
完成并使用Rails 3应用程序后,返回并合并更改:
git checkout master && git merge rails-3
你说“克隆”是什么意思?你做过分支吗?
git
确实让这件事变得相当简单,尤其是在管理并行中继时。是的,谢谢,我在git上,但我不确定它的其余部分,谢谢,如果这是一个愚蠢的问题,很抱歉……但是……我是否与我的Rails 2应用程序保持在同一个项目目录中,但通过执行git checkout-b Rails-3,继续在那里工作,它将成为分支的一部分?是否有可能合并两个单独的签出,它们位于不同的目录中,一个是rails 2,一个是rails-3?我会将它们挑选到实际的分支中<代码>git cherry pick commitid