2010-03-15 2 views
6

команда удаляет удаленный филиал в мерзавца следующаяобъяснить команды для мерзавца удаления удаленных филиалов

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

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

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

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

+0

хороший вопрос .. мне было интересно то же самое. – hasen

ответ

8

Формат мерзавец толчка (для нашей части) составляет:

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

Таким образом, используя GIT нажимного происхождения:// [особенность имя] главы говорит мерзавец толкать пустую ветку к функции -name. Итак, вы его очищаете.

+0

ага, наконец, это имеет смысл для меня! – hasen

0

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

Это в стороне, «удалить» команда определяется иметь этот синтаксис, как описано в справочной странице для git push:

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

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

Смежные вопросы