Ответ
Для создания новой ветки и одновременного переключения на неё используется команда git checkout с флагом -b или более современная команда git switch с флагом -c.
Основной способ
Это наиболее частый сценарий: создать ветку и сразу начать в ней работать.
# Создать ветку 'feature/user-authentication' и переключиться на неё
git checkout -b feature/user-authentication
# Аналог с использованием команды switch (предпочтительнее в новых версиях Git)
git switch -c feature/user-authentication
Раздельные команды
Если нужно только создать ветку, не переключаясь на неё, используется git branch.
# 1. Создать ветку
git branch fix/payment-bug
# 2. Позже переключиться на неё
git checkout fix/payment-bug
# или
git switch fix/payment-bug
Отправка новой ветки на удалённый репозиторий
После создания локальной ветки и коммитов в неё, её нужно опубликовать на удалённом сервере (например, GitHub).
# -u устанавливает связь между локальной и удалённой веткой
git push -u origin feature/user-authentication
Best Practices:
- Актуальность: Перед созданием новой ветки убедитесь, что ваша основная ветка (
mainилиmaster) актуальна:git checkout main && git pull. - Именование: Используйте осмысленные имена веток, часто с префиксами:
feature/,fix/,hotfix/,chore/.
Ответ 18+ 🔞
А, ну вот, смотри, классика жанра! Сидишь ты такой, весь в белом, в своём коде, и тебе вдруг приспичило новую фичу запилить. Так, блядь, с чего начать? С ветки, конечно!
Вот прям как в том анекдоте про немого Герасима, только тут не «Муму», а git checkout -b. Суть простая, как три копейки: одной командой и ветку создашь, и на неё перескочишь, чтобы сразу начать там свои художества разводить.
# Берёшь и делаешь вот так, одним махом
git checkout -b feature/user-authentication
А если ты, сука, продвинутый пользователь и у тебя Git свежий, то можно вот так, моднее:
git switch -c feature/user-authentication
Это типа как checkout, только без лишней многозначительности, чистая работа. -c — это, ясень пень, «create», создать, блядь.
А бывает, что ты такой планировщик, блядь, стратег. Сначала ветку создал, а работать в ней будешь потом, когда созреет мысль. Тогда двумя командами:
# 1. Просто создал и оставил в покое
git branch fix/payment-bug
# 2. А когда пришло вдохновение — переключился
git checkout fix/payment-bug
# или опять же модным способом
git switch fix/payment-bug
Ну и, ебать мои старые костыли, главное не забыть потом эту ветку на удалённый репозиторий вытолкнуть, а то будешь как тот мудак, который картину нарисовал и в чулан спрятал. Никто не увидит, и смысл был?
# -u — это чтобы локальная ветка знала, куда ей потом пушиться
git push -u origin feature/user-authentication
И два совета, чтобы не облажаться, как последний распиздяй:
- Актуальность, ёпта! Перед тем как новую ветку отпочковывать, убедись, что у тебя основа свежая. Переключись на
mainи потяни изменения:git checkout main && git pull. А то начнёшь строить на песке, потом хуй разберёшься в конфликтах. - Имя ветки — не хуй собачий! Давай ей нормальное, понятное имя.
feature/,fix/,hotfix/— вот это дело. Чтобы через месяц самому не пиздеться: «А это чё за веткаtest_branch_final_v3?».
Вот и вся магия. Ничего сложного, главное — не перемудрить и вовремя запушить.