? Imagine que tengo un repositorio local que he clonado de algún origen. En el momento de mi clonación inicial, el origen tenía cuatro ramas: featureA, featureB, featureC y master. Si empujo cambios en el origen que eliminan la featureA rama yo esperaría a ver algo de ello se eliminará la próxima vez expido:¿Cómo dejo que diga a Git que me advierta sobre ramas remotas posiblemente eliminadas
$ git pull origin
Sin embargo, lo que sucede es que no veo nada y cuando intento para tirar de esa rama específica abajo con
$ git pull origin featureA
me sale el siguiente error:
fatal: Couldn't find remote ref featureA
fatal: The remote end hung up unexpectedly
Esto hace totalmente sentido, ya º De hecho, la sucursal fue eliminada del control remoto, así que sí, el árbitro ya no está, sin embargo, me pregunto por qué no me notificaron sobre este hecho. Mi .git/config para el mando a distancia se ve así:
[remote "origin"]
fetch = +refs/heads/:refs/remotes/origin/
url = [email protected]:/data/git/perecep.git
He escrito un pequeño script que utiliza el git ls-remoto junto con la salida de rama git-r a detectar referencias remotas cuyas ramas ya no existen en el servidor y preguntarme si me gustaría eliminarlas, pero me pregunto si estoy haciendo algo inherentemente incorrecto aquí.
estoy siguiendo un flujo de trabajo más "servidor central" con Git b/c que estoy en un entorno corporativo y es así como los desarrolladores con las computadoras portátiles preferiría compartir el código (creando ramas de temas públicos en un servidor central para impulsar sus cambios para la colaboración) por ahora. Dado que estamos recién en transición de SVN, es algo con lo que se sienten más cómodos. Creo que mi preocupación es que después de crear varias ramas efímeras de esta naturaleza que se eliminan después de que la característica/tema se integre, todos los desarrolladores ahora tienen toneladas de ref secas de rama remota en su repositorio local. – NewGitUser