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

Бывают ситуации, когда локальные изменения в ветке настолько запутались, что проще полностью сбросить всё и начать «с чистого листа» от удаленной версии. В этой статье рассмотрим два надежных способа, как это сделать.

Ситуация

Представьте: вы работаете над фичей в ветке feature/new-design, накоммитили кучу экспериментального кода, а потом поняли, что всё пошло не так. Или просто хотите получить точную копию ветки из удаленного репозитория, полностью удалив локальные изменения.

Нам нужно:

  • Скачать последнюю версию из origin
  • Полностью заменить локальную ветку на удаленную
  • Удалить все локальные коммиты и изменения

Способ 1: git reset —hard

Это самый прямой способ — вы просто сбрасываете локальную ветку до состояния удаленной.

Пошаговая инструкция:

Что происходит:

  • git fetch origin — загружает свежие данные из удаленного репозитория, не сливая их с локальной веткой. Это безопасная команда.
  • git reset --hard origin/название_ветки — выполняет жесткий сброс:
    • Указатель ветки перемещается на тот же коммит, что и в origin
    • Полностью удаляются все локальные коммиты, которых нет в удаленной ветке
    • Безвозвратно стираются все некоммиченные изменения в рабочей директории

Способ 2: удалить и создать ветку заново

Этот способ еще более радикальный — вы полностью удаляете локальную ветку и создаете её заново из удаленного репозитория.

Пошаговая инструкция:

Что происходит:

  • git branch -D — удаляет локальную ветку даже если она не слита с другими ветками (флаг -D — это форсированное удаление, в отличие от -d, который требует слияния).
  • git checkout -b feature/new-design origin/feature/new-design — создает новую локальную ветку с тем же именем, которая будет «следить» за удаленной веткой.

Мало букафф? Читайте есчо !

GIT workflow или как работать с проектом

Апрель 2, 2024 г.

Как использовать GIT, может зависеть от многих факторов, например как проходит тестирование, работает ли целая команда над проектом или один разработчик соло. Соло разработка Концепция работы с GIT в случае одного разработчика сводится обычно ...

Читать

Подключение к GitHub по SSH: пошаговая инструкция

Сентябрь 3, 2025 г.

Работа с репозиториями через SSH удобнее и безопаснее, чем по HTTPS — вам не нужно вводить пароль при каждом пуше, а авторизация выполняется с помощью криптографических ключей. Разберём процесс полностью: от создания ключа до проверки подключения. ...

Читать

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

Май 1, 2026 г.

Предположим, вы работаете в ветке feature, а коллеги обновили master. Вам нужно подтянуть свежие изменения в локальный master, но не хочется терять контекст и переключаться туда-обратно. Стандартный git pull работает только с текущей веткой. Что делать? ...

Читать

Git pull с передачей логина и пароля

Декабрь 11, 2021 г.

Репозиторий почти всегда требует реквизитов доступа. И, если вы их не храните в локальной конфигурации, то скрипты, содержащие git pull, будут прерываться, запрашивая пару логин/пароль. Передать реквизиты с отдельным ключом нельзя, но можно задать ...

Читать
 

Комментарии к «Как полностью затереть локальную ветку и привести её к состоянию из удаленного репозитория»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: