Это не филиал, это результат плохой отрасли:
server$ echo echo 2e79bc84c11eda5d73add5a9dfc6bf03c50c432d > refs/heads/oogly
В этом случае SHA-1 я выбрал то, что аннотированный тег. Вы не можете получить «git branch» или «git checkout», чтобы указать на тег, они всегда очищаются от фиксации, но вы можете получить инструмент, не поддерживающий git (например, echo
), чтобы сделать разбитую ветвь ,
Затем на клиенте:
client$ git ls-remote
[snip]
d1574b852963482d4b482992ad6343691082412f refs/heads/master
2e79bc84c11eda5d73add5a9dfc6bf03c50c432d refs/heads/oogly
676699a0e0cdfd97521f3524c763222f1c30a094 refs/heads/oogly^{}
[snip]
Удаление фактической ветви (oogly
в этом случае, abc
в вашем) на сервере будет сделать «лущеного тег» уйти на клиенте. Обратите внимание: если вы хотите сохранить тег, вы должны указать на него тег, если его уже нет.
Как это создавалось на сервере в первую очередь, я понятия не имею.
Обратите внимание, что это абсолютно нормально для (аннотированных) тегов: сервер предоставляет как тег, так и его SHA-1 и SHA-1 базового объекта, на который он указывает. Синтаксис описан в gitrevisions:
<rev>^{}, e.g. v0.99.8^{}
A suffix^followed by an empty brace pair means the object could
be a tag, and dereference the tag recursively until a non-tag
object is found.
Что хранилище вы используете? В GitHub было бы тривиально удалить эту ветку на удаленной (и, скорее всего, на BitBucket). –
@Tim Gitlab. Я не вижу интерфейса для этого. – Magnus
Вы пробовали просто «git push origin: abc^{}'? Какую услугу вы используете? – isherwood