Мой набор Rails 4.2 приложений и драгоценных камней в настоящее время обновляется до Rails 5. Есть ли способ поддерживать 2 отдельных Gemfiles и Gemfiles - один для Rails 4.2 и еще один для Rails 5, и отбрасывать это на git, поэтому несколько человек может работать с приложениями в Rails 4.2 и Rails 5?Как сохранить 2 версии Rails для проекта, перемещающегося в Rails 5?
ответ
Обычный ответ - ветви. Я предполагаю, что у вас есть набор драгоценных камней, которые находятся в разработке и обновлении, и один или несколько «основных проектов», которые зависят от этих драгоценных камней, также как в активной разработке, так и в обновлении.
Так что для драгоценных камней, разрабатывая рельсы 5 версии, у вас может быть ветка master
и ветка rails-4
. Мастер, будучи краем кровотечения, получает повышенный уровень. Новая функция разработки может быть выполнена в rails-4 и регулярно слита в master.
Затем, в ваших основных проектах, вы делаете то же самое. Перед тем как создать новую ветвь, вы можете указать в Gemfiles ваших основных проектов, что они должны использовать определенную ветвь, например:
gem 'mygem', :git => 'https://github.com/my/gem.git', :branch => 'rails-4'
Тогда ваши основные проекты могут создавать свои собственные рельсы-4 филиала. На главном сервере вы повторно отредактируете свой Gemfile, чтобы вернуть его, указав мастер.
Опять же, новая функция развития может продолжаться в ветке рельсов-4 и быть объединена в мастер, пока мастер не будет готов к производству. После того, как вы отправили рельсы 5 версий, и все довольны, ветвь rails-4 может быть удалена.
[Изменить]: Если по какой-либо причине, вы непрочь GIT ветви, я видел растущую тенденцию библиотеки писателей добавляющих «/ gemfiles» папку для своих проектов.
Мое предложение состояло в том, чтобы заполнить эту папку всеми различными версиями Gemfiles в вашем проекте, а затем удалить Gemfile из корня, используя git rm Gemfile
. Также добавьте строки /Gemfile
и /Gemfile.lock
к вашему .gitignore. Зафиксируйте это изменение.
Затем, когда новый разработчик проверяет ваше репо, им необходимо связать с Gemfile, который они хотят использовать. После ссылки на файл, который они хотят, например. ln -s gemfiles/Gemfile-rails-4 Gemfile
они должны иметь возможность запускать bundle install
Следует отметить, что я никогда раньше этого не делал - но это была бы общая стратегия. Разветвление будет по-прежнему рекомендовано в общем случае - таким образом, вы избегаете условных выражений в своем коде и избегаете остаточной «рывки» из процесса обновления.
Я стараюсь не разделить отдельные ветви, если это возможно, но несколько разных наборов Gemfiles/или использовать RVM – absessive
- 1. Как сохранить версии проекта в Xcode 5
- 2. Как сохранить измеренное время в Rails 5?
- 3. Rails сохранить в 2 модели
- 4. spork-rails in Rails 5
- 5. Как сохранить загруженный файл в Rails 2
- 6. Получение конкретной версии Rails приложения Rails 2.x
- 7. Загрузка проекта Rails из другого проекта Rails
- 8. Как сменить версию Rails 5 после изменения версии?
- 9. Укажите версии Rails
- 10. Версии для Rails i18n переводы
- 11. Как обновить приложение Rails для использования последней версии Rails
- 12. Rails: Как сохранить ассоциации
- 13. rails 5 using devise
- 14. Как сохранить две версии проекта в GIT
- 15. Морозильные версии для замораживания Rails
- 16. Rails 5: объединение 2 больших текстовых файлов
- 17. пользователя в Rails 5
- 18. Требуется решение для проекта Rails?
- 19. Ошибка синтаксиса для проекта Rails
- 20. Переход от Rails 2 до Rails 3
- 21. Неправильные версии Rails
- 22. Ajax on Rails, непонятные версии Rails
- 23. Обновление Rails версии приложения
- 24. Проблема с ограничениями версии gemfile для Rails
- 25. Rails 5 поле формы для пользовательских параметров
- 26. Как установить разные версии Rails и сохранить существующие?
- 27. Печать версии Rails в представлениях?
- 28. Rails 5 Active Record - возможно ли сохранить таблицу в памяти?
- 29. Как обновить версию Rails-версии моей команды Rails?
- 30. Rails 5 и ActiveModelSerializers
by «как в Rails 4.2, так и в Rails 5» означает ли вы, что любой человек может находиться в обоих одновременно? Я не знаю, извините. Однако, если вы просто имеете в виду, что некоторые люди работают в версии Rails 4.2 и другие в версии Rails 5, я бы предложил использовать ветки git. – jaydel
Метод, описанный в [этом блоге] (http://bytes.babbel.com/en/articles/2015-12-14-rails-4-upgrade.html), очень хорошо работал для нас. – spickermann