При удалении удаленной ошибки git branch ": невозможно нажать на неквалифицированный адрес назначения"
Я пытаюсь удалить удаленную ветвь 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
Любые идеи о том, как я могу избавиться от этой ветки, будут оценены.
Ответы
Ответ 1
Тот факт, что refs/remotes/origin/my_remote_branch
существует в вашем локальном репозитории, не означает, что refs/heads/my_remote_branch
существует в удаленном репозитории origin
.
Сделайте git fetch -p origin
, чтобы сделать refs/remotes/origin/my_remote_branch
, если он уже удален по происхождению. Опция -p
сообщает fetch об удалении любых ветвей отслеживания, которые больше не существуют в соответствующих пультах; по умолчанию они хранятся.
Ответ 2
Нашел вопрос очистка старых удаленных ветвей git, и это сделало трюк
git branch -r -d origin/my_remote_branch
Ответ 3
Я столкнулся с этим при попытке удалить удаленную ветку, которая уже была удалена. Все, что было необходимо, было черносливом:
git remote prune origin
Ответ 4
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
Ответ 5
Попробуйте выполнить две опции для принудительного удаления удаленной ветки
Вариант 1
get push origin --delete <branchName>
Вариант 2
git fetch -p origin
git branch -r -d origin/<branchName>
Ответ 6
Если бы эта же проблема, я вручную отредактировал мой файл ./.git/config
, чтобы включить:
[branch "branchName"]
remote = origin
merge = refs/heads/branchName
Это привело к: error: src refspec branchName matches more than one.
Этому я исправил, запустив $git tag -d branchName
.
После этого я смог подтолкнуть новую ветку вверх по течению.
Ответ 7
У меня подобная проблема.
Сначала я пошел на эту дискуссию, однако я не мог решить проблему, пока не увидел fooobar.com/questions/46020/....
, которые просто добавляют подсказку для выделения origin/my-branch-name
и my-branch-name
.
Чтобы быть конкретным, я должен использовать:
git push origin :my_remote_branch
вместо
git push origin :origin/my_remote_branch
Это решило мою проблему, по крайней мере, надеюсь, что это поможет и другим.
Ответ 8
Для меня проблема заключалась в том, что это была моя ветка по умолчанию на github. Я изменил ветвь по умолчанию, а затем удалил операцию.
Надеюсь, что это поможет кому-то.