2010-03-09 12 views
5

Ich bin neu in Git, also vermute ich, dass ich hier etwas falsch verstehe, aber ich werde trotzdem fragen.Git Fernbedienung hat Master, aber keine HEAD

Via TortoiseGit ich folgendes tun:

  • Init ein neues Git Repo lokal
  • eine Readme-Datei, um es hinzufügen und begehen
  • Hinzufügen eines neuen Remote
  • Schieben Sie die neue Repo die orgin (remote)

Wenn ich dann auf Durchsuchen Refs ich sehe folgendes:
Köpfe/Master
Fernbedienungen/origin/master

Was ich seltsam finde ist, dass ich einen Kopf auf den Fernbedienungen nicht sehen.

Wenn ich meine lokalen Repo löschen und anschließend vom Server klonen (I geschoben nur oben) und wechseln Sie dann die Refs Ich sehe:
Köpfe/Master
Fernbedienungen/Herkunft/HEAD
Fernbedienungen/Ursprung/Master

Warum sehe ich keinen Remote-Kopf nach dem ersten Push?

NB. Ich habe das gleiche über Git Bash Befehl gemacht (dh nicht Tortoise Git) und sehe das gleiche.

Antwort

0

Es ist, weil Sie Ihr Repository nicht ziehen. Wenn Sie drücken, aktualisieren Sie die Ref Remote/Ursprung/Master, aber nicht HEAD, weil es zu anderen Commit sein kann. Wenn Sie nach dem HEAD ankommen, ziehen Sie an.

Es kommt mit Ihrem Klon nach. Holen Sie alle Referenzen von remote wie HEAD und Master

+0

Ich bin nicht ganz sicher, dass ich verstehe - sagst du, dass, nachdem ich den ersten Push an die Fernbedienung getan habe, wenn ich dann einen Pull und/oder Fetch ich sollte den Kopf bekommen? Weil ich es versucht habe und ich nicht. – dwynne

3

Es ist, weil HEAD ist keine Remote-Referenz, die Sie auch drücken sollten, es ist nur eine Referenz auf die Festschreibung, die HEAD des Remote-Repository verweist. Dieses Repository auf dem Server hat offensichtlich einen funktionierenden Baum und wird nicht mit dem Befehl git init --bare erstellt. Ich vermute Tortoise Git ignoriert es einfach, weil einige Regeln in der Software sind. Es klingt komisch, dass Git es nicht anzeigen würde.

Verwandte Themen