Проект 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?