Что нужно:
1. Вести разработку в закрытом репозитории (доступ только для разработчиков).
2. Сделать еще публичный репозиторий (на github), куда периодически выкладывать все накопившиеся обновления и при этом там должна быть только часть проекта. Так же периодически оттуда обновляться (merge-реквесты).
Например:
apps/
publicapp/
privateapp/ — этой папка не должна попасть в публичный репозиторий
При этом хочется, чтобы в публичный репозиторий попадали накопившиеся изменения одним коммитом, т.е. разрабатывается новое приложение какое-то время и допустим сделано 50 коммитов, так вот хочется, чтобы в публичный репозиторий на github это попадало одним коммитом.
Сейчас в качестве приватного репозитория используется svn, а в качестве публичного github, для которого локально настроены .gitignore на папки, которые туда не должны попадать, т.е. в одну папку сделано svn checkout и git clone, и когда нужно выложить на github изменения, я просто делаю git commit и git push.
Давно уже хочется избавиться от svn и для разработки использовать git, но не знаю как.
Подскажите, как описанное выше лучше всего организовать.
Спасибо!
Так на гитхаб будут попадать все коммиты. Разве нет? И как же тогда решится проблема, что часть того, что я коммичу в приватный репозиторий не должно попасть на github?
Сделайте на гитхабе отдельный проект, в нем sh-скрипт, который сливает в какую-нибудь папку последнюю версию вашего проекта, переносит то что нужно в корень и коммитит с нужным сообщением.
Вы сможете отслеживать в логе как «обновления» версии, так и изменения самого скрипта (если его понадобится изменить).