Как создать новую ветку в Git и переключиться на нее

Ответ

Для создания новой ветки и одновременного переключения на неё используется команда 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

И два совета, чтобы не облажаться, как последний распиздяй:

  1. Актуальность, ёпта! Перед тем как новую ветку отпочковывать, убедись, что у тебя основа свежая. Переключись на main и потяни изменения: git checkout main && git pull. А то начнёшь строить на песке, потом хуй разберёшься в конфликтах.
  2. Имя ветки — не хуй собачий! Давай ей нормальное, понятное имя. feature/, fix/, hotfix/ — вот это дело. Чтобы через месяц самому не пиздеться: «А это чё за ветка test_branch_final_v3?».

Вот и вся магия. Ничего сложного, главное — не перемудрить и вовремя запушить.