tutorial framework espaƱol commands comandos git

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



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