Команда git branch -aпоказує віддалені гілки, які існують у вашому локальному сховищі . Це може здатися дещо заплутаним, але щоб зрозуміти це, ви повинні зрозуміти, що існує різниця між віддаленою гілкою та гілкою, яка існує у віддаленому сховищі. Віддалені відділення - це локальні гілки, які відображаються у гілках віддаленого сховища. Отже, набір віддалених гілок представляє стан віддаленого сховища.
Звичайний спосіб оновлення списку віддалених гілок - це використання git fetch. Це автоматично отримує оновлений список гілок з віддаленого і встановлює віддалені гілки в локальному сховищі, а також витягує будь-які об'єкти комісій, які можуть бути відсутніми.
Однак за замовчуванням git fetchне видаляються віддалені гілки, у яких на пульті більше немає гілки аналога. Для цього вам явно потрібно скоротити список віддалених гілок:
git fetch --prune
Це автоматично позбудеться віддалених гілок, яких більше немає на віддаленому. Після git branch -rцього покаже вам оновлений список гілок, які дійсно існують на пульті: І ті, які ви можете видалити за допомогою git push.
Однак, для використання git push --deleteвам потрібно вказати назву гілки у віддаленому сховищі; не назва вашого віддаленого відділення. Отже, для видалення гілки test(представленої вашою віддаленою гілкою origin/test) ви б використали git push origin --delete test.
git branch -aвідобразить гілки у вашому локальному, а не з віддаленого. Правильно?