2010-02-04 27 views
11

Quisiera eliminar una sucursal remota de mi repositorio git central. El consejo habitual es hacer 'git push origin: branchname' o 'git push origin: heads/branchname'. Pero cuando intento eso, aparece este mensaje de error:No se puede eliminar la sucursal remota en git

*** Deleting a branch is not allowed in this repository
error: hooks/update exited with error code 1
error: hook declined to update refs/heads/branchname
To /opt/repo/myrepo.git
! [remote rejected] branchname (hook declined)
error: failed to push some refs to '/opt/repo/myrepo.git'

¿Qué ofrece? Estoy usando git versión 1.5.4.3, si eso ayuda.

Respuesta

19

Alguien ha habilitado un enganche en el repositorio remoto que prohíbe la eliminación; esto generalmente se hace para que alguien no pueda insertar una rama rebasada en el repositorio. (Tengo una colección bastante grande de repositorios git y todos están configurados de esta manera, aunque no con un gancho.)

Mire en el directorio hooks/en el repositorio remoto. Habrá un script llamado "actualización"; esto es lo que se niega a dejar que elimines la rama.

+7

¡Gracias! Con esta información pude resolver esta solución: 'git --git-dir /opt/repo/myrepo.git config --bool hooks.allowdeletebranch true'. Después de hacer eso, pude usar 'git push origin: branchname' para eliminar la rama remota. – twirlip

+1

@twirlip: fantástico, me alegro de que pudieras solucionarlo. – ebneter

+1

Bajé la respuesta ya que da una pista pero no resuelve el problema sin una explicación adicional. En cambio, el primer comentario hace la magia :) – yoshi

2

Es posible que tenga que iniciar sesión en su repositorio remoto y eliminar la rama manualmente (es decir, desde el sistema de archivos).

3

Creo que esto podría ser lo que dice el mensaje: el repositorio remoto no permite la eliminación del historial. Considere diferentes hosting de git (si no puede ajustar la configuración de lo que está utilizando actualmente) si realmente necesita esta funcionalidad.

+1

El repositorio está alojado localmente (bueno, está en un servidor que tengo acceso de raíz, de todos modos). Si hay un cambio de configuración que se puede realizar en el repositorio para habilitar esta funcionalidad, me gustaría saberlo. – twirlip

Cuestiones relacionadas