Перейти к содержимому

🧙 Садовник: уточнил шаги, добавил проверки и обоснования. Примите, если полезно.

#1
открыто+1−7⇅8предложил coder · 14 авг. 2026 г. · на основе v1
Итог · станет v3
1
Обновить основную ветку

Перед созданием ветки убедись, что у тебя свежий код.

bash
1git switch main
2git pull origin main

В старых статьях встретится git checkout main — это то же самое. switch появился позже и делает только переключение, а checkout умеет слишком много разного.

В некоторых проектах основная ветка называется master или development — посмотри git branch -a.

Зачем: Если ответвиться от устаревшего состояния, при слиянии получишь конфликты на ровном месте — в файлах, которые ты даже не трогал.
$git switch main && git pull origin main
  • –git status говорит, что ты на основной ветке
  • –Ветка синхронизирована с сервером
2
Создать ветку

Флаг -c создаёт ветку и сразу переключает на неё.

bash
1git switch -c feature/new-feature

Старый вариант той же команды: git checkout -b feature/new-feature.

Проверь, что переключился: git status всегда первой строкой пишет текущую ветку.

Зачем: Ветка — это всего лишь указатель на коммит, несколько байт. Поэтому создавать их можно сколько угодно и ничего не копируется.
$git switch -c feature/new-feature
  • –git status показывает новую ветку
  • –Имя ветки с префиксом и описывает задачу
3
Сделать коммиты
bash
1git add .
2git commit -m "feat: добавлена новая функция"

git add . добавляет всё сразу — удобно, но опасно: легко захватить лишнее. Сначала смотри git status, потом добавляй.

Лучше несколько осмысленных коммитов, чем один огромный: так любое изменение можно откатить отдельно.

Зачем: Сообщение коммита отвечает на «почему», а не на «что» — «что» всегда видно из диффа. Через год именно «почему» будет единственным, чего не хватает.
$git status
  • –В ветке есть минимум один коммит
  • –В коммит не попало ничего лишнего
4
Периодически подтягивать основную веткуРекомендуется

Если работа идёт не один день, основная ветка уходит вперёд.

bash
1git switch main
2git pull origin main
3git switch feature/new-feature
4git merge main

Если возникнут конфликты, git о них скажет и остановится.

Зачем: Разбирать конфликты почастям гораздо легче, чем одним большим комом в конце. Чем дольше ветка живёт в отрыве, тем больнее будет слияние.
$git merge main
  • –Ветка содержит свежие изменения из основной
5
Отправить ветку на сервер
bash
1git push -u origin feature/new-feature

Флаг -u связывает локальную ветку с удалённой — дальше достаточно просто git push.

Зачем: Коммиты существуют только на твоём компьютере, пока не сделан push. До этого момента никто их не видит и при поломке диска они просто исчезнут.
$git push -u origin feature/new-feature
  • –Ветка видна на GitHub
  • –git status пишет, что ветка отслеживает удалённую
6
Открыть pull request

На GitHub, GitLab или Bitbucket создай PR из своей ветки в основную.

В описании напиши, что сделано и зачем. Если есть связанная задача — добавь Closes #12, тогда она закроется автоматически при мерже.

Зачем: PR — единственное место, где изменение можно обсудить до того, как оно начало работать в проде. Плюс там же прогоняются проверки.
  • –PR открыт из ветки в основную, а не наоборот
  • –В описании понятно, зачем это изменение
7
Удалить ветку после мержа

После того как PR смержен:

bash
1git branch -d feature/new-feature # локально
2git push origin --delete feature/new-feature # на сервере
3git remote prune origin # почистить ссылки на удалённые

Важно про -d и -D: маленькая -d откажется удалять ветку, если её коммиты никуда не слиты. Большая -D удалит в любом случае. Пользуйся -d — это встроенная защита от потери работы.

Зачем: Неудалённые ветки накапливаются десятками, и через полгода непонятно, какие из них живые. `prune` нужен потому, что локальный git продолжает помнить ветки, удалённые на сервере кем-то другим.
$git branch -d feature/new-feature
  • –Локальная ветка удалена
  • –Удалённая ветка удалена
  • –git branch -a больше её не показывает
8
Вернуться на основную ветку и обновиться
bash
1git switch main
2git pull

Забыть этот шаг — классика: следующая ветка будет создана от устаревшего состояния, и круг замкнётся.

Зачем: Твой локальный main не знает, что PR смержен — слияние произошло на сервере. Пока не сделал pull, у тебя старая картина мира.
$git switch main && git pull
  • –Ты на основной ветке
  • –Твоё изменение видно в локальной копии
9
Проверить актуальную версию Git

Убедись, что у тебя установлена последняя версия Git, чтобы избежать проблем с устаревшими командами и флагами.

Зачем: Актуальная версия Git обеспечивает поддержку новых функций и исправлений.
$git --version
  • –Версия Git не ниже 2.30.0