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

Как правильно организовать работу с Git для соло-разработки?

Доброго времени суток!

В настоящее время, проект (PHP + MySQL) существует на одном сервере.
Используем два домена:
- site.ru - рабочая версия сайта
- dev.site.ru - тестовая версия сайта
Оба сайта сейчас используют одну базу данных (раньше было две отдельных, но потом решили использовать одну).

Как сейчас выглядит работа:
1. Заказчик ставит задачу
2. Работаю с файлами сайта dev.site.ru
3. При готовности задачи - копирую файлы из dev.site.ru в каталог сайта site.ru

Сейчас добавилась некоторая сложность: периодически, заказчик может самостоятельно внести какие-либо изменения с оформлением. Логику не трогает, то может поправить css или html.

А иногда и для меня ставится задача, внести корректировки по оформлению и достаточно часто возникает желание, написать несколько строк сразу в каталоге site.ru. Но потом, при более сложной задаче мне приходится копировать все из каталога site.ru в каталог dev.site.ru для актуализации.

С Git до этого не работал, точнее использовал только для себя: что-то сделал - закоммитил, чтобы была возможность откатиться или посмотреть историю.

Давно хотел начать использовать Git правильно, прочитал Pro Git, ознакомился с Git Flow и GitHub Flow.

В целом есть некоторое понимание того, ЧТО нужно сделать, но никак не могу понять КАК правильно это сделать.

Как сейчас вижу решение:
1. Создать закрытый git-репозиторий на GitHub
2. Сделать git push из каталога site.ru в ветку master на GitHub
3. При поступлении задачи - из ветки master на GitHub делать git pull в каталог dev.site.ru
4. Создать ветку task-123 (123 - номер задачи), решить задачу.
5. Слить ветку task-123 вместе с --no-ff в master локально (каталог dev.site.ru).
6. git push в ветку master на GitHub
7. Из ветки master на GitHub, сделать git pull в каталог site.ru, чтобы получить реализованную задачу.
8. Если вносятся изменения заказчиком (или мной) в каталоге site.ru (касаемо html или css) - делать git push в ветку master на GitHub.

Все ли я правильно понимаю?
Если возможно, пожалуйста, распишите подробнее или дайте ссылку на ресурсы.
Заранее спасибо!
  • Вопрос задан
  • 361 просмотр
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
Если ты один, сделай флоу какой тебе удобный с нейм конвеншеном какой тебе удобен.

Сделай две ветки:
site-ru
dev-site-ru

Делай ветки для вставки новых крупных фич типа:
feature-XXXX

как ветка готова, мержи ее в dev-site-ru c --squash
Как протестировал на дев, делай мерж в site-ru

Для тебя и клиента будет интуитивно понятно что за ветки, и не надо будет запоминать зачем нужен мастер или транк.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽