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

Опять начал работать не в той ветке?

Дано:
ветка master
ветка develop
все изменения должны проходить через develop и потом сливаться с master

Задача:
1. Как организовать себя перед началом работы всегда проверять текущую ветку?
2. Почему частенько вносишь правки, а потом понимаешь, что это master ветка, а не develop?

PS
master диплоится на продакшен сервер
develop в тестовую песочницу - смотрится и утверждается клиентом
  • Вопрос задан
  • 1135 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
Закрыть мастер для пушей, сливать только через пулреквесты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@kttotto
пофиг на чем писать
1. Заканчивая работу, посреди монитора клеить стикер - Начинать работу с pull.
2. Потому что невнимательность. Но в большинстве случаев нет проблем затем перенести коммиты в нужную ветку.
Ответ написан
@solascriptura
Пользоваться процессами для командной работы. Даже если вы пока не работаете в команде себя нужно к этому приучить, тогда все будет намного проще, и с мерджами не будете мучаться. Есть переведенная статья с правилами: https://habr.com/post/106912/. Если хотите, обращайтесь, покажу как у меня это работает.

Да и... если вы не успели еще на мастер сделать коммит, а только изменений наделали, вы можете переключиться на девелоп без проблем, и коммитить уже в нем, никаких лишних команд при этом делать не нужно. Кстати, это тоже вариант решения - достаточно приучить себя перед любым коммитом(и вообще в каждой непонятной ситуации с git) делать git status и смотреть, на правильной ли вы ветке.
Ответ написан
Decadal
@Decadal
Предед началом работы над новой таской
git checkout master
git pull
git checkout -b task_number_and_task_name
Выглядит как будто это ещё сложнее запомнить, до тех пор пока вы не представите что сотня условных разработчиков могла уже напушить в мастер кучу кода, и на ветке девелоп куча кода которому уже три года но его не одобрили в мастер.

Тогда вы будете работать каждый раз над новой задачей в новой ветке. Потом будете мерджить эту ветку в develop, для демонстрации своей таски. А потом если все ок то мерджите в мастер(или кидаете мердж реквест) свою ветку (не develop)

Страх конфликтов заставит вас запомнить работу с ветками, и git status вы будете набирать уже по привычке везде и всюду)

И да, желательно три сервера. Демо, стейдж и прод.
Демо содержит мусорную develop ветку. Стейдж содержит мастер ветку. И прод тоже мастер ветку. Хорошая работа вашей таски в мусорной ветке ещё не гарантирует таковую в мастере
Ответ написан
dmitriylanets
@dmitriylanets
веб-разработчик
1. Установите develop основной веткой, в настройках репозитория
2. Используйте Soource Tree с gitflow схемой из коробки, будете работать через меню операций: начать исправление - завершить исправление, начать тематическую ветку - завершить тематическую ветку, и тд. Все проверки и рутинные операции возьмет на себя gitflow.
Ответ написан
Ваш ответ на вопрос

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

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