объяснить команду для git удалить удаленную ветку - PullRequest
6 голосов
/ 15 марта 2010

Команда для удаления удаленной ветви в git следующая

git push origin :/heads/[feature-name]  
       [feature-name] being the name of the branch

Это отлично справляется с работой, правда.
Однако, набрав его, я не могу связать то, что набираю, фактически удаляя ветку.

Не могли бы вы описать, почему это на самом деле работает? (мой вопрос не имеет никакого отношения к тому, как это реализовано)

Понимание этого поможет нам лучше понять, как работает git.

Ответы [ 2 ]

8 голосов
/ 15 марта 2010

Формат git push (с нашей стороны):

git push <repository> <src>:<dst>

Таким образом, используя git push origin: /heads / [имя-функции] говорит git выдвинуть пустую ветвь в ветку имени-функции. Таким образом, вы чистите это.

0 голосов
/ 15 марта 2010

Имя ветви - это метка, указывающая на коммит SHA. Вы эффективно удаляете этот ярлык. Поскольку в ведении этой ветки нет метки, она уничтожается и теряется.

Кроме того, команда «delete» определена с таким синтаксисом, как описано на странице руководства для git push:

происхождение git push: экспериментальное Найдите ссылку, которая соответствует экспериментальной в репозитории источника (например, refs /глав / экспериментальный) и удалите его.

В качестве альтернативы можно использовать опцию --delete.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...