origin - ¿Cuándo actualiza git la lista de ramas remotas?
git push example (6)
Usando
git branch --all
muestra todas
las
ramas
remotas
y
locales
.
¿Cuándo actualiza git esta lista?
En tirón / empuje?
¿Y cómo actualizarlo usando
git bash
?
¡Muchas gracias a todos!
Creo que si ejecuta
git branch --all
desde el bash que la lista de sucursales remotas y locales que verá reflejará lo que su Git local "sabe" al momento de ejecutar el comando.
Debido a que su Git siempre está actualizado con respecto a las sucursales locales en su sistema, la lista de sucursales locales siempre será precisa.
Sin embargo, para ramas remotas, este no tiene por qué ser el caso.
Su Git local solo conoce las ramas remotas que ha visto en la última búsqueda (o extracción).
Por lo tanto, es posible que ejecute
git branch --all
y
no
vea una nueva rama remota que apareció
después de
la última vez que buscó o extrajo.
Para asegurarse de que su lista de sucursales local
y
remota esté actualizada, puede hacer una
git fetch
antes de
ejecutar
git branch --all
.
Para obtener más información, las ramas "remotas" que aparecen cuando ejecuta
git branch --all
, no son realmente remotas, en realidad son locales.
Por ejemplo, suponga que hay una rama en la
feature
llamada remota que ha extraído al menos una vez en su Git local.
Verá el
origin/feature
como una rama cuando ejecute
git branch --all
.
Pero esta rama es en realidad una rama
local de
Git.
Cuando haces
git fetch origin
esta rama de seguimiento se actualiza con cualquier cambio nuevo desde el control remoto.
Esta es la razón por la cual su estado local puede quedar obsoleto, porque puede haber nuevas sucursales remotas o sus sucursales de seguimiento pueden quedar obsoletas.
El OP no solicitó la limpieza de todos los controles remotos, sino de todas las ramas del control remoto predeterminado.
Entonces
git fetch --prune
es lo que debería usarse.
Establecer
git config remote.origin.prune true
hace que
--prune
sea automático, en ese caso solo
git fetch
también eliminará las ramas remotas obsoletas de la copia local.
Consulte también
Poda automática con git fetch o pull
.
Tenga en cuenta que esto no limpia las sucursales locales que ya no están rastreando una sucursal remota. Consulte https://.com/a/54484443/869951 para eso.
Para mostrar todas las ramas locales y remotas que Git (local) conoce
git branch -a
Para actualizar la lista local de sucursales remotas:
git remote update origin --prune
Si está utilizando Eclipse y desea ver nuevas sucursales desde arriba;
En la perspectiva de Git, haga clic con el botón derecho en el repositorio de git y luego elija "Recuperar de Upstream". Esto busca nuevas ramas remotas.
Use
git fetch
para obtener todas las ramas creadas más recientemente.