framework - git repository
Al eliminar la sucursal remota de git "error: no se puede enviar a un destino no calificado" (8)
El hecho de que refs/remotes/origin/my_remote_branch
exista en su repositorio local no implica que el refs/heads/my_remote_branch
exista en el repositorio remoto de origin
.
Haga que git fetch -p origin
haga que los refs/remotes/origin/my_remote_branch
desaparezcan si ya han sido eliminados en origen. La opción -p
le dice a fetch que elimine cualquier rama de rastreo que ya no exista en los controles remotos correspondientes; por defecto se mantienen alrededor.
Estoy tratando de eliminar una rama remota de git con
git push origin :my_remote_branch
y obteniendo:
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''
estas son mis ramas actuales
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
Cualquier idea sobre cómo puedo deshacerme de esta rama sería apreciada.
Intente seguir dos opciones para eliminar la sucursal remota a la fuerza
Opción 1
get push origin --delete <branchName>
opcion 2
git fetch -p origin
git branch -r -d origin/<branchName>
Me encontré con esto cuando intentaba eliminar una rama remota que ya había sido eliminada. Todo lo que se necesitaba era una ciruela pasa:
git remote prune origin
Para mí, el problema era que esta era mi rama predeterminada en github. Cambié la rama predeterminada, luego se eliminó la operación de eliminación.
Espero que ayude a alguien
Se encontró una pregunta limpiando viejas ramas de git remotas y esto funcionó.
git branch -r -d origin/my_remote_branch
Tenía este mismo problema, ./.git/config
manualmente mi archivo ./.git/config
para incluir:
[branch "branchName"]
remote = origin
merge = refs/heads/branchName
Lo que resultó en: error: src refspec branchName matches more than one.
Esto lo arreglé ejecutando la $git tag -d branchName
. Después de lo cual pude empujar la nueva rama hacia arriba.
Tengo un problema similar. Primero fui a esta discusión, sin embargo, no pude resolver el problema hasta que vi https://.com/a/32147743/4209849 .
que simplemente agrega un consejo para distinguir el origin/my-branch-name
my-branch-name
y my-branch-name
.
Para ser específico, debería usar:
git push origin :my_remote_branch
en lugar de
git push origin :origin/my_remote_branch
Esto resolvió mi problema al menos, espero que también ayude a otros.
git branch -r -d origin/my_remote_branch
no fue suficiente para mí Antes tenía que ir al servidor y trabajar directamente con el directorio de git (lo cual es peligroso y feo) para eliminar la rama:
ssh mygitserver
su - git
cd /home/git/repositories/my_remote_branch.git/
git --git-dir=. --work-tree=/tmp/ branch -D my_remote_branch