Проект Rails из нескольких репозиториев Git

Возможно ли иметь Rails-приложение из нескольких Git-репозиториев? На данный момент у меня есть основное приложение со всем моим кодом, и я вручную копирую в него код вставки из других репозиториев. Другие репозитории прямо сейчас: репозиторий для моего форка Twitter Bootstrap и репозиторий для кода CSS/HTML/Javascript (внешний интерфейс). Хранилище веб-интерфейса используется для создания множества тестов, в основном для мобильного сафари. Он не поддерживает базу данных и предназначен только для создания внешнего интерфейса моего приложения и управления им.

Я хотел бы настройку, например, так:

  • Репозиторий для моего Bootstrap форка (добавлены стили, scss и coffeescript)
  • Репозиторий для моих представлений (html, пользовательский css/javascript, тесты для различных браузеров и платформ, отсутствие активной поддержки записи и почти никаких моделей)
  • Хранилище для всего остального

Я хочу сохранить эти отдельные репозитории. Или иметь один со всем моим кодом, но также хранить отдельные репозитории.

3 ответа

Решение

Вам лучше использовать подмодули git, намного чище и гораздо менее сложными.

Существует альтернатива использованию подмодулей git, если вам неудобно их использовать. Вы можете разбить ваше приложение на Двигатели или Railties. Например, если у вас есть приложение Rails 3.1 в вашем gemfile, вы можете ссылаться на внешний движок, такой как

gem 'my_gem_name', :path => '../path/to/my/custom_engine'

Точно так же вы можете напрямую ссылаться на двигатель через git, такой как

gem 'bootstrapped', :git => 'git@github.com:entropillc/bootstrapped.git'

Как обычно, после изменения gemfile, выполните установку пакета

Важное примечание: если вы ссылаетесь на git-репозиторий, вам нужно будет отправить все изменения файлов в удаленный репозиторий для движка, а затем выполнить "обновление пакета" в основном проекте Rails, чтобы получить эти изменения.

Используя локальный путь, вам не нужно обновлять ваш пакет.

Недостатком этого является то, что все должно быть в жемчужине, плюс в том, что если вы, в первую очередь, разработчик Rails, многократное использование драгоценных камней может помочь вам быстрее запустить проект.

Да, вы можете иметь несколько пультов Git в локальном репозитории Git. Как только вы сделаете коммит, вы перейдете к удаленному репо по вашему выбору. Таким образом, чтобы добавить удаленное репо, вы должны ввести это в командной строке

$ git remote add <remote-name> git@github.com:username/Hello-World.git

замените remote-name на то, что вы хотите назвать

Затем, как только вы сделаете коммит, вы подтолкнете к соответствующему репо

также проверить

Как разделить несколько проектов в один репозиторий с помощью git?

Другие вопросы по тегам