gitx Wie bekomme ich meine ‘Detached HEAD’-Commits zurück in den Master [duplicate]
Lesezeit: 3 Minuten
Travis
Mit Git X und muss königlich an etwas herumgefummelt haben. Sieht so aus, als hätte ich vor ein paar Tagen einen Zweig namens erstellt detached HEAD und habe mich dafür eingesetzt. Mein normaler Prozess ist es, mich zu verpflichten master und dann schieben Sie das zu origin. Aber ich kann nicht pushen detached HEAD.
Meine nächste Station hat mich verarscht. ich wählte git checkout master – und meine detached HEAD Zweig verschwunden. Wenn ich zu meinem Projekt zurückkehre, wurden alle meine Änderungen in den letzten Tagen gelöscht.
Kann ich diese Änderungen irgendwie wiederherstellen?
Verwenden Sie git reflog, um die verlorenen Commits zu finden.
Wenn Ihr aktueller “Zweig” HEAD ist, dann CREATE tmp verzweigen und dann zu wechseln master und zusammenführen tmp dazu. stackoverflow.com/a/5772882/860099
– Kamil Kielczewski
11. Dezember 2018 um 6:11 Uhr
Josh Lee
Wenn checkout master war das letzte, was du getan hast, dann das neu loggen Eintrag HEAD@{1} enthält Ihre Commits (andernfalls verwenden Sie git reflog oder git log -p um sie zu finden). Verwenden git merge HEAD@{1} um sie schnell zum Master vorzuspulen.
Da ich kein Power-Git-Benutzer bin, war dies hilfreich, aber nicht detailliert genug. Es veranlasste mich jedoch, das Netz zu durchsuchen – danke. ich fand gitready.com/intermediate/2009/02/09/… sehr hilfreich
– rgardler
23. Dezember 2011 um 13:55 Uhr
Für jeden, der HEAD@{1} in Powershell (Windows) ausführt, erhalten Sie einen nicht beschreibenden Fehler wie error: unknown switch ‘e’. Dies liegt daran, dass geschweifte Klammern in Powershell eine besondere Bedeutung haben. Geben Sie stattdessen Folgendes ein: ‘HEAD@{1}’.
– Johnny Oshika
14. Januar 2014 um 0:20 Uhr
Wenn Sie Fischschalen verwenden, erhalten Sie diesen Fehler merge: HEAD@1 - not something we can mergefish entfernt die geschweiften Klammern, also wechseln Sie zuerst zu bash, dann wird es funktionieren.
– Briankip
16. Februar 2016 um 9:46 Uhr
Anstatt zusammenzuführen, können Sie auch die getrennten Commits auswählen, z git cherry-pick HEAD@{3}. Dadurch wird der Verlauf nicht mit vielen Zusammenführungen überladen, wenn mehrere Commits zu retten sind.
– Dunkler Staub
17. August 2016 um 15:12 Uhr
Git für Windows scheint Anführungszeichen für die zu benötigen HEAD@{1}sonst kommt es mit merkwürdigen Fehlern….error: unknown switch c” -> also verwenden git merge "HEAD@{1}"
– Falk Alexander
13. Februar 2019 um 19:22 Uhr
Wenn Ihr abgesetzter HEAD ein schneller Vorlauf des Masters ist und Sie nur die Commits stromaufwärts möchten, können Sie das tun
git push origin HEAD:master
direkt zu schieben, oder
git checkout master && git merge [ref of HEAD]
wird es wieder mit Ihrem lokalen Master zusammenführen.
Das hat bei mir funktioniert und der Ansatz von @Josh Lee nicht. Also ich bin froh, dass das funktioniert hat!
– vy32
14. Mai 2013 um 0:27 Uhr
Dadurch werden die Commits auf dem getrennten Kopf zurück zum Ursprung (Ursprung/Master) verschoben, Sie bleiben jedoch lokal in einem getrennten Zustand. Ist git checkout origin master der beste Weg, um wieder auf den Master-Zweig zu kommen? Es scheint besser zu sein, zuerst in den Master zu verschmelzen und dann zum Ursprung zurückzukehren.
– StuWeldon
20. August 2014 um 21:38 Uhr
funktioniert bei mir danke.
– Nouman Ch
3. Dezember 2018 um 5:31 Uhr
9232900cookie-checkgitx Wie bekomme ich meine ‘Detached HEAD’-Commits zurück in den Master [duplicate]yes
Verwenden Sie git reflog, um die verlorenen Commits zu finden.
– William Pursel
30. Januar 2011 um 21:05 Uhr
Sehen gitready.com/intermediate/2009/02/09/…
– rgardler
23. Dezember 2011 um 13:56 Uhr
Wenn Ihr aktueller “Zweig” HEAD ist, dann CREATE
tmp
verzweigen und dann zu wechselnmaster
und zusammenführentmp
dazu. stackoverflow.com/a/5772882/860099– Kamil Kielczewski
11. Dezember 2018 um 6:11 Uhr