Как эффективно использовать GIT одному человеку в разных проектах?
Здравствуйте! Так уж сложилось, что веду проекты (даже по работе) один, проекты разные, чаще всего кросс-платформенные, клиент-серверные мобильные приложения (клиент coronaSDK, сервер PHP).
Есть желание по нормальному пользоваться гитом, но не могу в моем случае выработать правильную стратегию его использования.
По началу просто коммитил (клиентскую часть) на свой удаленный сервер (как бекап), потом и это перестал делать, просто как-то не зачем было, не пригожидалось.
При этом приходилось клиент и сервер вести по отдельности, что бы не удобно.
Наверняка дело в моем мало опыте и знания использования гита, может посоветуете что?
Я регулярно ввожу новые фичи в приложения, наверное надо делать отдельные ветки для новых фич и все такое?
Плюс хочу занятся разработкой нативных Android приложений, тоже клиент-серверных, может Android-studio как-то даст решение проблемы?
Поднимите бек и фронт у себя локально, ведите код в одном репо. Под фичи отдельные ветки, но для одного человека git flow избыточен ИМХО. С GUI связываться не рекомендую, командная строка - наше все ;)
Возьмите за правило, что когда вы пишете новый функционал - всегда отводить новую ветку от основной. В основной у вас будет лежать код, который на данный момент работает на продакшене.
Тоесть, у вас есть проект. Надо реализовать новую фичу шифрования, например. Вы отводите ветку от основной
git checkout -b feature/encryption
Пишете код, тестируете, рефакторите при необходтимости. После того как фича реализована, мержите ее с основной веткой. Для небольшой команды достаточно вот этих основных команд
git clone - выкачать репозиторий
git pull – получение изменений из удаленного репозитория
git checkout - переключиться на ветку
git checkout –b - отведение новой ветки от текущей с переключением на нее
git add – добавление файлов в индекс
git commit –m ‘’ – коммит с комментарием
git push origin - пуш закоммиченных изменений в удаленный репозиторий origin
git branch –d - локальное удаление ветки
git stash save –keep-index + git stash drop – локальное удаление изменений в отслеживаемых файлах
Посмотрите на SourceTree: разделение на проекты, ветки под фичи и баги да и вообще удобный и приятный в использовании GUI для Git. И почитайте про git flow