El origen de búsqueda de git no busca todas las twigs

Leí en las respuestas a esta pregunta que el git fetch origin debería search todas las twigs de origen. En mi caso, no parece darme ninguna twig, sin embargo. Esto es lo que hice:

Inicialmente, un origen llamado remoto tenía 7 twigs. Lo cloné git branch luego solo devolvió el master . git fetch origin , y la git branch todavía solo muestra el master . ¿Cómo puedo get las otras 6 twigs sin searchlas individualmente?

Tienes las 7 twigs, pero la git branch solo muestra las twigs locales. Aunque ahora tiene los datos de sucursal localmente en su sistema, todavía se consideran "sucursales remotas". Puedes verlos con la git branch -a . Se remotes/origin/branchname algo así como remotes/origin/branchname . Puede verificarlos especificando este nombre completo: git checkout remotes/origin/branchname .

Además, ya tienes todas estas twigs cuando clonaste el repository. Ejecutar el git fetch origin simplemente actualizará tu repository con cualquier cosa nueva que haya sucedido en el origen desde la última vez que buscaste (o clonaste).

Puede leer más sobre sucursales remotas en la documentation de git: Git Branching – Remote branches

Aunque la pregunta fue respondida por la pregunta asker, este es el verdadero problema: la razón por la que te confundes es porque git fetch te mostrará los detalles sangrientos de lo que hace en un nuevo control remoto, pero no te mostrará nada (git clonar) al clonar el repository al principio. Entonces, la clonación solo crea la twig principal local. Porque lo verifica, por defecto. Al verificarlo, lo crea localmente.

Entonces, básicamente, lo que debe hacer es lo que indicó al principio: revise todas las twigs individualmente. Entonces, básicamente, lo que obtienes es esto:

 git branch -a | grep origin | sed "s@.*origin/@@" | while read f; do git checkout $f done 

Probablemente hay más commands de "plomería" de bajo nivel que pueden hacerlo, pero básicamente esto es desde la perspectiva del usuario. En realidad, la respuesta parece ser que puedes crear sucursales locales directamente.

 git branch -a | grep origin | sed "s@.*origin/@@" | while read f; do git branch $f origin/$f done 

Pero esto no configurará rastreos de seguimiento, probablemente. Respuesta de Cómo clonar todas las sucursales remotas en Git?