Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在不冻结代码的情况下从Rails 2升级到Rails 3?_Ruby On Rails_Git_Rails 3 Upgrade - Fatal编程技术网

Ruby on rails 如何在不冻结代码的情况下从Rails 2升级到Rails 3?

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 2升级到Rails 3。我所做的是克隆了原始应用程序,并开始了升级过程

不幸的是,我需要继续使用Rails2并对其进行改进,因此代码中出现了变化


我还没有完成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