Задать вопрос

Git и два репозитория (public и private)?

Что нужно:
1. Вести разработку в закрытом репозитории (доступ только для разработчиков).
2. Сделать еще публичный репозиторий (на github), куда периодически выкладывать все накопившиеся обновления и при этом там должна быть только часть проекта. Так же периодически оттуда обновляться (merge-реквесты).

Например:
apps/
    publicapp/
    privateapp/ — этой папка не должна попасть в публичный репозиторий

При этом хочется, чтобы в публичный репозиторий попадали накопившиеся изменения одним коммитом, т.е. разрабатывается новое приложение какое-то время и допустим сделано 50 коммитов, так вот хочется, чтобы в публичный репозиторий на github это попадало одним коммитом.

Сейчас в качестве приватного репозитория используется svn, а в качестве публичного github, для которого локально настроены .gitignore на папки, которые туда не должны попадать, т.е. в одну папку сделано svn checkout и git clone, и когда нужно выложить на github изменения, я просто делаю git commit и git push.
Давно уже хочется избавиться от svn и для разработки использовать git, но не знаю как.

Подскажите, как описанное выше лучше всего организовать.
Спасибо!
  • Вопрос задан
  • 11008 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
эм,

git remote add origin YOUR_PRIVATE_REPO
git remote add public GITHUB_REPO

git push -u origin — закомитить в приватный репозиторий и сделать его дефолтным
git push public — закомитить на гитхаб
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
alexmuz
@alexmuz Автор вопроса
Так на гитхаб будут попадать все коммиты. Разве нет? И как же тогда решится проблема, что часть того, что я коммичу в приватный репозиторий не должно попасть на github?
Ответ написан
Комментировать
@mr_idiot
Сделайте на гитхабе отдельный проект, в нем sh-скрипт, который сливает в какую-нибудь папку последнюю версию вашего проекта, переносит то что нужно в корень и коммитит с нужным сообщением.
Вы сможете отслеживать в логе как «обновления» версии, так и изменения самого скрипта (если его понадобится изменить).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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