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

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

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

а) в статусе фреймворка (корневого каталога проекта) не мелькали файлы приложения (подкаталога), а фреймворк нормально производил чекаут со своего репозитория (файл .gitignore в корне там присутствует и тоже должен обновляться нормально, то есть просто занести приложение в него не получится);

б) в статусе приложения мелькали его файлы относительно репозитория приложения, в идеале, чтобы в репозитории приложения находился полностью развернутый фреймворк с приложением внутри, но не как внешняя ссылка, а как снимок проекта на момент коммита

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

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

Похожие вопросы