search desde el origen con twigs remotas eliminadas?

Cuando hago git fetch origin y el origen tiene una twig eliminada, no parece actualizarlo en mi repository. Cuando hago git branch -r aún muestra origin/DELETED_BRANCH .

¿Cómo puedo arreglar esto?

Debes hacer lo siguiente

 git fetch -p 

Esto actualizará la database local de sucursales remotas.

De http://www.gitguys.com/topics/adding-and-removing-remote-branches/

Después de que alguien borre una sucursal de un repository remoto, git no eliminará automáticamente las twigs del repository local cuando un usuario haga un git pull o git fetch. Sin embargo, si el usuario desea eliminar todas las twigs de seguimiento de su repository local que se han eliminado en un repository remoto, puede escribir:

git origen de ciruela remota

Como nota, el parámetro -p de git fetch -p realidad significa "ciruela".
De cualquier manera que elija, las sucursales remotas no existentes se eliminarán de su repository local.

Debes hacer lo siguiente

 git fetch -p 

para sincronizar su list de sucursales. El manual de git dice

-p , --prune
Después de recuperar, elimine todas las references de seguimiento remoto que ya no existan en el control remoto. Las tags no están sujetas a limitación si solo se obtienen debido al seguimiento automático de tags pnetworkingeterminado o debido a una opción --tags . Sin embargo, si las tags se obtienen debido a un refspec explícito (ya sea en la línea de command o en la configuration remota, por ejemplo, si el control remoto se clonó con la opción --mirror ), entonces también están sujetos a la eliminación.

Personalmente, me gusta usar el git fetch origin -p --progress porque muestra un indicador de progreso.

Esto funcionó para mí.

 git remote update --prune 

Con respecto a git fetch -p , su comportamiento cambió en Git 1.9, y solo Git 2.9.x / 2.10 refleja eso.

Ver commit 9e70233 (13 Jun 2016) por Jeff King ( peff ) .
(Fusionado por Junio ​​C Hamano – gitster – in commit 1c22105 , 06 jul 2016)

fetch : documentar que la poda ocurre antes de ir a search

Esto fue cambiado en 10a6cc8 ( fetch --prune : Run fetch --prune before fetching, 2014-01-02), pero parece que nadie en esa discusión se dio count de que estábamos anunciando el "después" explícitamente.

Entonces la documentation ahora dice:

Antes de recuperar, elimine todas las references de seguimiento remoto que ya no existan en el control remoto

Eso es porque:

Cuando tenemos una twig de seguimiento remoto llamada " frotz/nitfol " de una búsqueda anterior, y la frotz ascendente ahora tiene una twig llamada " frotz ", la búsqueda no puede eliminar " frotz/nitfol " con un " git fetch --prune " de la stream arriba git informaría al usuario que use " git remote prune " para solucionar el problema.

Cambia la forma en que funciona " fetch --prune " moviendo la operación de poda antes de la operación de captación. De esta manera, en lugar de advertir al usuario de un conflicto, lo soluciona automáticamente.

Aquí es cómo actualiza la información de repos

 git remote update