2011-09-05 227 views
0

我有一个使用rails 2.3.11的大型rails项目,我想将它迁移到rails 3.我有一个想法, '想尝试,但我需要一些Git的帮助。如何在git存储库中“unrm”或将文件从一个存储库移动到另一个存储库

我想要做的是从一个新的新的rails 3应用程序开始。一个想法是获取我当前的rails项目目录并删除所有内容。然后做一个提交,以便树是空的。然后创建一个新的rails 3项目。这样我开始新鲜,所以一切都将是最新的。

然后当我添加旧的控制器等回到项目中,我想“unrm”他们。 Git知道这些文件的历史,我想保留这些历史记录。

另一种方法是启动一个新的rails 3应用程序,然后以某种方式将文件从旧的git存储库传输到新的git存储库,但我想保留该文件的历史记录。

这是一个半熟的想法,但似乎一个更可行的方法来移动这个特定的项目是基本上重新开始,然后将旧项目的东西移动到新项目。但是当我将旧的东西移动到新的时候,我想保留每个特定文件的历史记录。

任何人都可以提出一个方法来做我刚刚列出的内容吗?

回答

0

第一:看看这个自动找到一些需要升级的东西:https://github.com/rails/rails_upgrade

要回答你的问题:你可以升级你的Rails的宝石,然后运行rails new . 3应用程序上生成一个新的轨道您的导轨2应用程序的顶部。它会摧毁你的一些重要文件,但你可以使用git diff找出它们中的内容,并将重要的东西复制到新文件中。最后,您可能需要手动删除一些内容(如脚本/文件夹中除轨道以外的所有文件)。在现有应用程序的顶部生成一个新的rails 3应用程序似乎是推荐的做法,并且在我升级了一个相当大而且旧的应用程序时适用于我。

相关问题