Я хочу удалить локальную ветку из git. Он показывает сообщение об удалении, но на самом деле оно не удаляется. код пишется так: Я понятия не имею, что происходит на этом изображении. Пожалуйста, помогите мне удалить remove-ipsum из локального git
git branch -a
git checkout master
git branch -d remove-ipsum
он показывает сообщение об удалении как: Удалена ветка remove-ipsum (была 870afb1).
git branch -a
но все еще отображая эту ветку.
Почему это происходит? любое решение?





Вкратце : Не нужно решать проблему, ваша локальная ветка успешно удалена.
Почему?
Поскольку вы получили сообщение с подтверждением удаления, теперь мы знаем, что версия местный этой ветки успешно удалена.
Но git branch -a отображает не только локальные ветки, но и список веток дистанционное отслеживание. Таким образом, если ветвь никогда не выталкивалась/вытягивалась, у нее есть копия удаленного отслеживания, которая еще не была обрезана.
Итак, что осталось сделать?
Либо ветка все еще существует удаленно по уважительным причинам, либо вы также можете удалить ее с помощью
git push <remoteName> :<branchName>
(Обязательно обратите внимание на пробел перед «:», это сильно отличается от <remoteName>:<branchName>)
или (альтернативный синтаксис для завершения, но их действие идентично)
git push --delete <remoteName> <branchName>
Предупреждение, поскольку на этом шаге нет подтверждения: буду удаляет ветку независимо от того, объединена она или нет.
Ну наконец то
На данный момент как локальная, так и удаленная версии ветки исчезли, и вы увидите еще ветку в выводе git branch -a. Какой?! Почему?
Потому что, как мы упоминали выше, ветка дистанционное отслеживание, являющаяся локальной копией удаленной ветки (для сравнения офлайн), не была удалена ни вашей первой командой, ни той, которую я вам предложил для удаленной ветки.
Таким образом, чтобы удалить его из списка ветвей удаленного отслеживания, теперь, когда вы удалили удаленный аналог, вы можете
git fetch --prune
и он больше не будет отображаться в выводе git branch -a.
Ой ну спасибо !! это действительно работает. Но я не понимаю, что делает git fetch --prune? не могли бы вы объяснить немного больше, что это значит?
@Tekson Вот почему я добавил последний абзац, но, думаю, мне следовало добавить ссылку на документ, проверьте здесь. В рубашке он проверяет, какие рефы пропали на удаленке, и удаляет соответствующие ветки удаленного отслеживания.
Возможный дубликат Как удалить ветку Git локально и удаленно?