Tengo algunos problemas con Git al usar repositorios y ramas clonados y de alguna manera no es posible para mí encontrar una respuesta a esto. Permítanme describirlo: tenemos un repositorio básico de Git desnudo de donde todos sacamos y empujamos, ubicado en una máquina Linux local y accesible con ssh. Hice un clon de esto a mi unidad flash USB como esto:¿Git no clona todas las ramas en los clones subsiguientes?
git clone ssh://[email protected]//net/repos/netcube/patches.git
Esto me da por supuesto un clon local con una copia de trabajo en mi unidad de disco USB. Me cd a esto y ver algunas ramas en este clon a continuación:
cd patches
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/stable
Hasta aquí todo bien, sin embargo si clonar el repositorio en mi pulgar conducir otra vez en mi portátil se pierde la rama estable. Veo:
cd ..
git clone patches patches2
cd patches2
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
He intentado varias opciones cuando se clona o una git fetch
después de la clonación, nada trae la rama estable a la patches2 repositorio. Supongo que tengo una falta de comprensión aquí y simplemente la uso de la manera incorrecta. ¿Podría alguien señalarme mi error de uso y/o comprensión?
Gracias a los comentarios tengo una idea de lo que era mi concepto erróneo. Lo que quería era »repositorios de transferencia« con _todos_ el contenido del repositorio principal, pero Git realiza algún tipo de clonación selectiva en función de sus ramas de seguimiento. Con 'git clone --mirror' obtengo un repositorio intermedio que puedo usar de la manera que esperaba. – LeSpocky
Para decirlo de manera más simple, 'git clone' (sin opciones especiales) no copiará las ramas de seguimiento remoto de un repositorio fuente, solo las ramas locales en el origen (las que están bajo' .git/refs/heads/'en la fuente, no las de '.git/refs/remotes/ /' –