При удалении удаленной ветви git "ошибка: не удается нажать на неполное место назначения"
Я пытаюсь удалить удаленную ветку git с помощью
git push origin :my_remote_branch
и получаем:
error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to '[email protected]:/myrepo'
Это мои текущие ветки
git branch -a
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/my_remote_branch
git branch -r --merged
origin/HEAD -> origin/master
origin/develop
origin/master
любые идеи о том, как я могу избавиться от этой ветви, будут оценены.
9 ответов:
дело в том, что
refs/remotes/origin/my_remote_branchсуществует в вашем локальном репозитории не означает наoriginудаленный репозиторий.Do
git fetch -p originсделатьrefs/remotes/origin/my_remote_branchуйти, если он уже удален в origin. Элемент-pопция сообщает fetch, чтобы удалить все ветви отслеживания, которые больше не существуют в соответствующих пультах дистанционного управления; по умолчанию они хранятся вокруг.
нашли вопрос очистка старых удаленных ветвей git и это сделало трюк
git branch -r -d origin/my_remote_branch
я столкнулся с этим при попытке удалить удаленную ветку, которая уже была удалена. Все, что было нужно, это чернослив:
git remote prune origin
git branch -r -d origin/my_remote_branchмне было мало. Прежде чем мне пришлось перейти на сервер и работать с каталогом git напрямую (что опасно и некрасиво), чтобы удалить ветку:
ssh mygitserver su - git cd /home/git/repositories/my_remote_branch.git/ git --git-dir=. --work-tree=/tmp/ branch -D my_remote_branch
попробуйте следующие два варианта, чтобы удалить удаленную ветку насильно
12get push origin --delete <branchName>git fetch -p origin git branch -r -d origin/<branchName>
для меня проблема была в том, что это была моя ветка по умолчанию на GitHub. Я изменил ветку по умолчанию, затем операция удаления была выполнена успешно.
надеюсь, что это поможет кому-то
была такая же проблема, я вручную отредактировал мой включает:
[branch "branchName"] remote = origin merge = refs/heads/branchNameв результате чего:
error: src refspec branchName matches more than one.Это я исправил, запустив$git tag -d branchName. После чего я смог подтолкнуть новую ветку вверх по течению.
у меня аналогичная проблема. Сначала пошел на эту дискуссию, однако я не мог решить проблему, пока не увидел https://stackoverflow.com/a/32147743/4209849.
которые просто добавляют подсказку на различать
origin/my-branch-nameиmy-branch-name.чтобы быть конкретным, я должен использовать:
git push origin :my_remote_branchвместо
git push origin :origin/my_remote_branchэто решает мою проблему, по крайней мере, надеюсь, что это поможет другим.
Это сработало для меня: Я создал удаленную ветвь в пользовательском интерфейсе github, а затем нажал свою локальную ветвь, которая имела то же имя. Попробуйте его в случае, если другие способы не работают. Другой способ - создать новую ветвь локально и нажать пустую ветвь, а затем вишневый выбор фиксации и снова нажать на пульт.
Comments