Рабочая копия GIT c двумя источниками — как разрулить?

В качестве системы контроля версий пользовался всю свою сознательную жизнь (как начал пользоваться, так она и началась :) ) Subversion (aka SVN). Тут подвернулся проект с использованием фреймворка, который хостится на github, а с git я ни разу не работал. Заказчик просит проект хостить тоже на github и даже готов постоянно платить за него. На SVN-то сходу оптимальный вариант развертывания не найду, а тут совсем незнакомая система, а надо быстро. Но это прелюдия.

Собственно вопрос в чём, как грамотно реализовать ситуацию когда один каталог (фреймворк) хостится в одном репозитории целиком, кроме одного подкаталога (приложение), которое хостится в другом репозитории. Нужно, чтобы:
а) в статусе фреймворка (корневого каталога проекта) не мелькали файлы приложения (подкаталога), а фреймворк нормально производил чекаут со своего репозитория (файл .gitignore в корне там присутсвует и тоже должен обновляться нормально, то есть просто занести приложение в него не получится);
б) в статусе приложения мелькали :) его файлы относительно репозитория приложения, в идеале, чтобы в репозитории приложения находился полностью развернутый фреймворк с приложением внутри, но не как внешняя ссылка, а как снимок проекта на момент коммита

Пока в голову приходит только развернуть фреймворк; скопировать всё, кроме информации git, в паралельное дерево; там разворачивать приложение. После обновления фреймворка по чекауту, удалять из копии старый (простой оверврайт не пойдёт, из фреймворка файлы могут пропадать или переименовываться), оставив только приложение; копировать новый сверху поверх приложения; модифицировать приложение к реалиям новой версии и коммитить его в репозиторий приложения. Но как-то мне этот способ не нравится, очень некрасиво. Может есть лучшие варианты?
  • Вопрос задан
  • 2795 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
@VolCh Автор вопроса
Если кто попадёт сюда из поиска, то вот тут есть развёрнутое описание
Ответ написан
andoriyu
@andoriyu
создайте 2 бранча, и добавьте 2 ремоута. Ну и собственно один бранч всегда пуште в гитхаб, а другой куда вам надо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы