Puede eliminar la rama de seguimiento remoto utilizando
git branch -d -r origin/<remote branch name>
como VonC menciona arriba. Sin embargo, si conserva su copia local de la rama, git push
aún intentará impulsar esa rama (lo que podría generar un error de avance no rápido como lo hizo para ruffin ). Esto se debe a que la configuración push.default
predeterminada es lo matching
que significa:
coincidencia: empuje todas las ramas coincidentes. Todas las ramas que tienen el mismo nombre en ambos extremos se consideran coincidentes. Este es el valor predeterminado.
(ver http://git-scm.com/docs/git-config debajo push.default
)
Ya que esto probablemente no es lo que quería cuando se eliminó la rama remota de seguimiento, se puede establecer push.default
que upstream
(o tracking
si tiene git <1.7.4.3)
ascendente: empuje la rama actual a su rama ascendente.
utilizando
git config push.default upstream
y git dejará de intentar empujar ramas que usted "ha dejado de rastrear".
Nota: La solución más simple sería simplemente cambiar el nombre de su sucursal local a otra cosa. Eso eliminaría también algunas posibilidades de confusión.
remote.<name>.fetch
configuración de configuración de referencia, pero no estoy seguro de si puede excluir una rama al especificar una especificación de referencia.git branch -d -r origin/<remote branch name>
eliminará una rama de seguimiento remoto como se declara localmente , en su repositorio. Será no eliminar la rama en el propio repo a distancia (sólogit push :development
haría eso). Entonces, cuando esté presionando su localdevelopment
, con un historial diferente al de la rama de desarrollo remoto (en el repositorio remoto), aún recibirá lanon-fast-forward
advertencia.