Удаление действительно плохо названной ветки git - PullRequest
2 голосов
/ 07 января 2011

Я случайно создал ветку под названием «remotes / origin / remotes / origin / aclark» и не могу удалить ее с помощью:

git branch -d remotes / origin / remotes / origin / aclark

Git говорит:

ошибка: ветвь 'remotes / origin / remotes / origin / aclark' не найдена.

Я попробовал некоторые из предложений здесь: Удаление плохо названной ветки git , но они больше ориентированы на плохие имена веток, начинающиеся с "-".

Есть ли способ, которым конечный пользователь может удалить эту ветку, или мне нужен администратор git? (Соответствующая ветвь живет в великолепном).

Спасибо

Alex

1 Ответ

11 голосов
/ 07 января 2011

Это удаленная ветка, поэтому вам нужно удалить ее на сервере.Для этого вам нужно нажать пустую ссылку.

$ git push origin :remotes/origin/aclark

Обратите внимание, что синтаксис команды git push:

$ git push <remote> <local-reference>:<remote-branch-name>

Так что в данном случае мы нажимаемпустая ссылка, а удаленное имя - это название ветви, которую мы хотим уничтожить.В вашем случае имя ветви «remotes / origin / remotes / origin / aclark» указывает, что это удаленная ветвь с именем «origin» удаленного сервера, а имя на удаленном сервере - «remotes / origin / aclark».

Другой клиент должен будет выполнить следующие команды, чтобы удалить ветку из своего локального хранилища (если они были выбраны, когда существовала неверная ветвь):

$ git fetch origin
$ git remote prune origin

Можно найти дополнительную информациюв руководствах git-push и git-remote .

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