2015-08-03 2 views
2

Я пытался выполнить следующую команду:Weird имя мерзавец филиал

git branch --set-upstream-to=staging 

И результат был не то, что я, как ожидается. Вместо установки ветви восходящего потока она создала новую ветвь с именем --set-upstream-to=staging, и проблема в том, что я не могу ее удалить.

Есть ли способ, чтобы сделать команду запустить

git branch -d --set-upstream-to=staging 

успешно?

Я получаю ошибку, когда я пытаюсь запустить выше команду: ошибка: неизвестный переключатель `S'

enter image description here

Я могу подтвердить существование ветви, когда я бегу git branch

  • футов-cell_formatting мастера постановка --set-вверх по течению к = устроившим -set-вверх по течению к = Стаджи нг

ответ

1

Ответ голубой112 должен работать отлично. Однако, если вы обнаружите, что ничего больше не работает, вы можете пойти в сантехнику. Посмотрите на папку .git/refs/heads. Это должно выглядеть примерно так:

$ ls .git/refs/heads 
master 
other-branch 
--set-upstream-to=staging 

Удалить файл .git/refs/heads/--set-upstream-to=staging. Тогда ветка исчезла. Если у вас есть коммиты, они теперь dangling, поэтому вам нужно восстановить их вручную. Если нет, вы делаете это сейчас.

+0

Вот что я искал. спасибо – ppoliani

2

Обычно, когда у вас есть странное имя файла/branchname/anythingname, вы можете сделать из командной строки не пытаться разобрать с помощью:

git branch -d -- --set-upstream-to=staging 

«-» здесь, чтобы сообщить Getopt (модуль, который анализирует параметры), чтобы остановить параметры разбора и начать аргументы анализа.


Кстати, нет никакого способа, чтобы git позволил мне создать ветку, начинающуюся с тире. Я не уверен, как ты это сделал.

+0

Благодарим вас за быстрый ответ. Однако это не позволяет мне удалить его. 'error: branch '-set-upstream-to = staging' not found.' – ppoliani

+0

Вы уверены, что это действительно существует? Можете ли вы изменить свой вопрос, чтобы включить вывод 'git branch'? – blue112

+0

@ppoliani в вашей похвале вы используете только один '-'. Может, в этом и проблема? – Dodekeract

-1

Если у вас есть инициализированная филиал в вашей локальной системе и Wanna толкать его на удаленный репозиторий вы можете:

cd git_working_directory git branch --set-upstream your_branch origin/your_branch git push

после этого выполняются команды локальный филиал будет выталкиваться в удаленное хранилище и сделать новую ветку

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