2010-01-06 18 views
7

tengo un repositorio remoto http://github.com/fernandezpablo85/TestGit clon no trae rama principal

Esta cesión temporal tiene una rama master, pero está detrás de otras dos ramas así que cuando me clonarlo consigo este warining:

advertencia : HEAD remoto se refiere a ref inexistente, no puede pagar.

Y también que no entiendo un master rama local (git branch muestra nada).

puedo arreglar todo el asunto haciendo:

git checkout -b master origin/master

Pero me preguntaba por qué sucede esto? Se supone que el maestro es el más avanzada rama? ¿O hay algo más que está mal con mi repositorio?

+0

@Pablo: por qué: porque elimina una rama remota en la que ha pulsado algunas confirmaciones (y no en el maestro remoto).La parte de GitHub solo está relacionada con su consola de administración, muestra esa rama remota eliminada como predeterminada y evita que el usuario cambie la rama predeterminada a principal. Ese bit es un problema de GUI, no un problema de Git. – VonC

+0

@Elimnatas ¿Por qué editaste mi pregunta así? –

+0

@Pablo: supuestamente debido a http://meta.stackexchange.com/questions/2950/should-hi-thanks-and-taglines-and-salutations-be-removed-from-posts, pero puede deshacer esa edición si tu quieres. – VonC

Respuesta

8

1/No, maestro no es necesario la rama más avanzada. Uno puede publicar solo en otra rama, y ​​luego eliminar esa rama ...

2/Cuando eso ocurra, debe seleccionar maestro como la rama predeterminada desde el panel de administración del repositorio github, pero eso no siempre es posible. Ver this bug

Para cualquier otra persona que ha afectado a este tema:

tekkub me dijo cómo conseguir alrededor de este error a través del canal freenode #github.

  • crear una rama temporal,
  • empujón que a tu repositorio,
  • seleccione la rama por defecto en el panel de administración para ese repo,
  • continuación, elimine la rama y empujar de nuevo.

Funcionó para nosotros.

(la idea es tener temporal dos ramas, con el fin de ser capaz de seleccionar maestro por defecto con el panel de administración visual, a continuación, elimine la rama adicional)

+0

Ok. Esa es una solución al problema y gracias por eso. Pero quería saber __why__ eso sucede. O al menos para saber si se trata de algo de Github en lugar de un problema de git –

+0

@Pablo: por qué: porque elimina una rama remota en la que ha pulsado algunas confirmaciones (y no en el maestro remoto). La parte de GitHub solo está relacionada con su consola de administración, muestra esa rama remota eliminada como predeterminada y evita que el usuario cambie la rama predeterminada a principal. Ese bit es un problema de GUI, no un problema de Git. – VonC

11

Si sólo desea clonar la rama principal, a continuación, ejecute este comando:

git clone [email protected]:**username**/ **Repository URL** -b master 

He aquí un ejemplo:

git clone [email protected]:gfranko/jquery.selectBoxIt.js.git -b master 
1

Tuvimos un problema similar con uno de nuestros repositorios, aunque en nuestro caso, el panel de administración de github mostraba "maestro" como la rama predeterminada, pero los checkouts obtenían una rama diferente por defecto. Cambiar el valor predeterminado a una de las otras ramas, luego volver a "maestro" solucionó nuestro problema.

Cuestiones relacionadas