Git: удаление удалённой ветки
Последнее обновление
Удаление ветки локально не убирает её из удалённого репозитория - это отдельный шаг. Чтобы удалить ветку в удалённом репозитории (например, на GitHub), выполните git push origin --delete <branch>. После этого другие клоны могут по-прежнему показывать ветку, пока не очистят устаревшие ссылки отслеживания.
Попробуйте это в терминальном playground - настоящая оболочка в вашем браузере, ничего устанавливать не нужно.
Синтаксис
| Command | What it does |
|---|---|
git push origin --delete feature | Удаляет feature в удалённом репозитории |
git push origin :feature | Старый синтаксис с двоеточием, тот же эффект |
git branch -d feature | Удаляет ветку также локально |
git fetch --prune | Убирает устаревшие ветки отслеживания |
Полная очистка
Уберите ветку повсюду и приведите в порядок устаревшие ссылки.
| Step | Command | Result |
|---|---|---|
| 1 | git push origin --delete feature | Удалена из удалённого репозитория |
| 2 | git branch -d feature | Удалена локально |
| 3 | git fetch --prune | Очищает ссылку отслеживания origin/feature |
Частые вопросы об удалении удалённой ветки в Git
Как удалить удалённую ветку в Git?
Выполните
git push origin --delete <branch>. Это убирает ветку из удалённого репозитория (например, GitHub). Старый эквивалент - git push origin :<branch>. Удаление удалённой ветки не удаляет вашу локальную копию - сделайте это отдельно командой git branch -d <branch>.Удаляет ли удаление локальной ветки удалённую?
Нет.
git branch -d убирает ветку только из вашего локального репозитория. Ветка остаётся в удалённом репозитории, пока вы явно не удалите её командой git push origin --delete <branch>. Эти две операции независимы.Почему удалённая ветка всё ещё отображается?
Другие клоны хранят ссылки отслеживания (такие как
origin/feature), пока не очистят их. Выполните git fetch --prune (или git remote prune origin), чтобы убрать ссылки на ветки, которых больше нет в удалённом репозитории.В чём разница между --delete и синтаксисом с двоеточием?
Они делают одно и то же.
git push origin --delete <branch> - более понятная современная форма; git push origin :<branch> - старый синтаксис (отправка "ничего" в удалённую ветку, что удаляет её). Используйте --delete ради читаемости.Можно ли попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить эти команды в настоящей оболочке в вашем браузере - ничего устанавливать не нужно. Бесплатный интерактивный курс по Git от Coddy также пошагово охватывает работу с удалёнными репозиториями.