Зачем ветки
Пока вы один, можно работать в главной ветке. Как только людей двое, начинается: один сохранил, второй забрал, у обоих сломалось.
Ветка — отдельная линия работы. Вы делаете свою задачу в своей ветке, не мешая остальным. Когда закончили — переносите изменения в общую.
Это основа любой командной работы с кодом, и без понимания веток в команду не берут.
Обычный порядок работы
Забрать свежее состояние общей ветки:
git checkout main
git pull
Создать ветку под задачу:
git checkout -b feature/expense-export
Название по смыслу задачи, не «моя-ветка-2».
Работать, сохраняя по частям:
git add .
git commit -m "добавил выгрузку расходов в файл"
Отправить свою ветку:
git push -u origin feature/expense-export
Дальше на площадке создаётся запрос на слияние, коллеги смотрят изменения, вы отвечаете на замечания, изменения попадают в общую ветку.
Правила, которые спасают команду
Не работайте в главной ветке. Никогда, даже для мелкой правки.
Забирайте свежее перед началом. Ветка, созданная от устаревшего состояния, гарантирует конфликты.
Держите ветки короткими. Задача на два-три дня. Ветка, живущая месяц, разъедется с общей так, что слияние станет мучением.
Одна ветка — одна задача. Не сваливайте в неё всё, что попалось под руку.
Что такое конфликт
Конфликт возникает, когда двое изменили одно и то же место по-разному, и система не может решить, чей вариант верный.
Это не поломка и не чья-то ошибка. Это нормальная часть работы.
Как разрешать конфликт
При слиянии вы увидите файлы с пометками: ваш вариант, чужой вариант и разделитель.
Порядок действий:
- Откройте файл и найдите пометки.
- Решите, что должно остаться. Иногда ваш вариант, иногда чужой, чаще — сочетание обоих.
- Уберите служебные пометки полностью. Забытая пометка ломает код.
- Проверьте, что всё работает. Именно проверьте запуском, а не на глаз.
- Сохраните результат.
Если конфликт большой и непонятный — не гадайте, спросите автора чужих изменений. Это нормально и быстрее, чем разбираться самому.
Как избегать конфликтов
- Договоритесь, кто какие файлы трогает. Половина конфликтов от того, что двое полезли в одно место.
- Забирайте изменения из общей ветки почаще. Раз в день, а не раз в неделю.
- Делайте задачи мельче. Чем короче живёт ветка, тем меньше расхождение.
Что говорить на собеседовании
Вопрос «расскажите, как вы работали с ветками» задают почти всегда, и по ответу сразу видно, работал человек в команде или только один.
Опыт совместной работы над проектом — даже учебным — даёт возможность ответить конкретно: как называли ветки, кто смотрел изменения, что делали при конфликтах. Это звучит совсем иначе, чем пересказ учебника.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Code review: taking part without taking offenceWhy review exists, how to receive comments, how to give them, and why it's a beginner's greatest source of growth.
- Разбор кода: как участвовать и не обижатьсяЗачем нужен код-ревью, как принимать замечания, как давать их самому и почему это главный источник роста для новичка.
- Working as a team: branches, merges and conflictsHow collaborative work on code is arranged, why branches exist, how to resolve conflicts and stay out of each other's way.