last - Git no está mostrando todas las sucursales en local
git get tag version (2)
Hice un repo de Github. Al hacer git remote -v
muestra:
origin https://github.com/myusername/moodle.git (fetch)
origin https://github.com/myusername/moodle.git (push)
upstream https://github.com/moodle/moodle.git (fetch)
upstream https://github.com/moodle/moodle.git (push)
El moodle.git
tiene alrededor de 10 sucursales, pero el repositorio muestra solo 2 de ellas. Al hacer git branch -a
(mostrar todas las ramas) me sale:
MOODLE_24_STABLE// just these two on local..how?
* master//
origin/MOODLE_13_STABLE
origin/MOODLE_14_STABLE
origin/MOODLE_15_STABLE
origin/MOODLE_16_STABLE
origin/MOODLE_17_STABLE
origin/MOODLE_18_STABLE
origin/MOODLE_19_STABLE
origin/MOODLE_20_STABLE
origin/MOODLE_21_STABLE
origin/MOODLE_22_STABLE
origin/MOODLE_23_STABLE
origin/MOODLE_24_STABLE
origin/master
upstream/MOODLE_13_STABLE
upstream/MOODLE_14_STABLE
upstream/MOODLE_15_STABLE
upstream/MOODLE_16_STABLE
upstream/MOODLE_17_STABLE
upstream/MOODLE_18_STABLE
upstream/MOODLE_19_STABLE
upstream/MOODLE_20_STABLE
upstream/MOODLE_21_STABLE
upstream/MOODLE_22_STABLE
upstream/MOODLE_23_STABLE
upstream/MOODLE_24_STABLE
upstream/master
¿Cómo resuelvo mi problema sin pérdida de datos o irregularidades?
Algunas veces, si no ha sacado el último código, no se le permitirá ingresar a la sucursal recién creada. Debido a que sus cambios no están sincronizados.
Así que primero -pulsa el último -checkout de la rama recién creada
La clonación de un repositorio no duplicará todas las sucursales remotas en el repositorio local: para un repositorio remoto grande con muchas sucursales, que contaminaría su espacio de nombres local con toneladas de sucursales.
Tengo un comando de una sola línea para crear sucursales locales que rastreen todas las ramas remotas de un repositorio remoto, pero esto generalmente no es necesario.
Solo crea una sucursal local que rastrea una remota cuando es necesario.
git checkout -b aBranch --track origin/aBranch
# or, shorter:
$ git checkout --track origin/aBranch
Branch aBranch set up to track remote branch refs/remotes/origin/aBranch.
Switched to a new branch "aBranch"
# even shorter at the end of this answer.
La adición de un --track
permite configurar la configuración para marcar la rama de punto de inicio como " upstream " desde la nueva rama.
Esta configuración le indicará a git que muestre la relación entre las dos ramas en el git status
git branch -v
y la git branch -v
.
Además, dirige git pull sin argumentos para extraer desde el flujo ascendente cuando se verifica la nueva rama.
kostix menciona que --track
está implícito cuando se bifurca una rama de una rama remota (a menos que branch.autosetupmerge
esté configurado como false
)
Esto podría ser suficiente
git checkout aBranch
La explicación exacta de la página del manual de git checkout
es:
Si no se encuentra
<branch>
pero existe una rama de seguimiento en exactamente un remoto (llámelo<remote>
) con un nombre coincidente, trate como equivalente a:
$ git checkout -b <branch> --track <remote>/<branch