2010-03-09 10 views
5

Soy nuevo en Git, así que sospecho que estoy malinterpretando algo aquí, pero lo preguntaré de todos modos.Git remote tiene master pero no HEAD

Via TortoiseGit que haga lo siguiente:

  • Init un nuevo repositorio git localmente
  • añadir un archivo readme a la misma y se comprometen
  • Añadir un nuevo mando a distancia
  • Empuje la nueva operación a la orgin (remoto)

Si a continuación, busque las referencias que veo lo siguiente:
cabezas/master
mandos a distancia/origin/master

Lo que me parece extraño es que no veo una cabeza en los mandos a distancia.

Si elimino mi repo local y luego clonarlo desde el servidor (acabo empujado a arriba) y busque los árbitros que veo:
cabezas/maestro
mandos a distancia/origen/HEAD
controles remotos/origin/master

Entonces, ¿por qué no veo una cabeza remota después del empuje inicial?

NB. He hecho lo mismo a través del comando Git Bash (es decir, no Tortoise Git) y estoy viendo lo mismo.

Respuesta

0

Es porque no extraes tu repositorio. Cuando presionas, actualizas el control remoto/origen/maestro de referencia, pero no HEAD porque puede ser otro compromiso. Si tira después de que llegue HEAD.

Viene con tu clon después. Obtenga todas las referencias desde un control remoto como HEAD y master

+0

No estoy del todo seguro de entender - ¿Estás diciendo que después de haber hecho la inserción inicial en el control remoto, si hago un Pull and Fetch debería obtener el HEAD? Porque lo he intentado y no lo hago. – dwynne

3

Es porque HEAD no es una referencia remota que debe presionar demasiado, es solo una referencia a la confirmación a la que HEAD apunta el repositorio remoto. Este repositorio en el servidor obviamente tiene un árbol de trabajo y no se crea con un comando git init --bare. Supongo que Tortoise Git simplemente lo ignora porque algunas reglas en el software. Suena raro que git no lo muestre.

Cuestiones relacionadas