Foros del Web » Programando para Internet » GIT »

[SOLUCIONADO] Borrado de ramas remotas

Estas en el tema de Borrado de ramas remotas en el foro de GIT en Foros del Web. Hola. En un ordenador1 creo una rama1 y la subo a servidor remoto. En un ordenador 2 hago git fetch y despues git branch -r ...
  #1 (permalink)  
Antiguo 19/11/2015, 06:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Borrado de ramas remotas

Hola. En un ordenador1 creo una rama1 y la subo a servidor remoto. En un ordenador 2 hago git fetch y despues git branch -r y veo la rama1. Hasta aqui todo correcto

Ahora, en ordenador1 borro la rama local con git branch -d rama1 y borro la rama remota con git push origin :rama1.

En ordenador2 hago git fetch y despues git branch -r y el problema es que sigo viendo la rama1, es decir, si en ordenador1 se borra la rama remota, el ordenador2 entiendo que no deberia seguir viendola, pero no es así.

No se si entendeis el problema.

¿Me podeis ayudar? Muchas gracias.
  #2 (permalink)  
Antiguo 19/11/2015, 06:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Borrado de ramas remotas

Entiendo pero no veo el problema con ello.

Las ramas son gratis, no son basura necesariamente.

En todo caso en tu ordenador2 sólo estás viendo una referencia, no la rama1 como tal.

Dicha referencia es volátil, si haces clone de nuevo desde el remoto ¿se sigue viendo la rama1 o ya no?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2015, 08:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Borrado de ramas remotas

Hola pateketrueke. Muchas gracias por ayudarme.

Si hago clone del repo, la rama no esta porque realmente la rama ya no existe, ha sido borrada.

Efectivamente, lo que ordenador2 ve es una referencia de la rama1. El problema es cuando esto pasa con 30 ramas, ordenador2 se junta con 30 ramas que a lo mejor el ni conoce porque no ha usado nunca, pero le salen ramas que no existen porque tiene la rereferencia de cuando ha ido haciendo fetch.

Dicho de otra forma, cuando trabajan 6 meses 20 personas (por ejemplo), esas ramas, que aunque si estan borradas, pero como en local tienes la referencia, se van acumulando. Ademas, no puedes borrarlas, porque realmente no sabes cuales son reales y cuales no.

En fin, espero que ahora me entiendas.
  #4 (permalink)  
Antiguo 19/11/2015, 08:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Borrado de ramas remotas

Bueno, para eso existe el comando gc (garbage collector) o prune:

Google: git clean deleted branches from remote → StackOverflow: http://stackoverflow.com/questions/1...rence-from-git
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/11/2015, 09:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Borrado de ramas remotas

OK. Un poco mas abajo despues de hablar del git gc y del git prune (que entiendo que son opciones mucho mas avanzadasy super validas), he visto a uno que hacia un git fetch-p que hace lo mismo que git fetch, pero no solamente de los commit que ha habido, si no tambien te "actualiza" las ramas de tu local, es decir, las que estan eliminadas en remoto pero que salen en tu local por tener una rererencia de ellas.

Es decir, exactamente lo que estaba buscando, por lo que te doy las gracias por toda tu ayuda, pateketrueke.

Al hilo de esto, se me ocurre preguntar por un sitio donde se puedan ver la sintaxis de los comandos mas usados de git (esto es facil) pero explicando sus opciones (-m, -t, etc) (esto ya no lo es tanto), pero creo que es mejor hacerlo en otro hilo.

Etiquetas: borrado, remotas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.