2010-12-29 9 views
0

ich einen Neuling bin so zu git zurück Ich glaube, ich etwas DummesGit: meine commited Daten von einem verkorksten lokalen Repo

Angenommen habe ich bei Version A bin und ich eine Veränderung verpflichtet, wollte aber nicht Das. Wir nehmen nun an haben die Version B. ich keine gute Lösung gefunden haben, wie sauber B zu rollen zurück zu A, sondern ging über der Kasse A zurück und fuhr fort commiting - gehe ich davon aus Version C. haben

A--->B 
\-->C 

Jetzt ist das Problem ist, dass diese Commits erfolgreich waren (ich kann die SHAs und die msg in .git/logs/HEAD sehen)

aber die commits werden nicht im Protokoll angezeigt und ich konnte sie nicht zu github schieben. Bevor ich das Chaos aufspürte, ging ich zum "Master" ... und rollte alles zurück nach B.

Wie kann ich meine Version C zurückbekommen oder sind meine Änderungen verloren?

Ist das das gleiche Problem wie beschrieben here?

+0

Wird das Commit, das Sie fehlen, im Reflog angezeigt? 'git log -g' oder' git reflog'? –

+0

ja reflog + hard reset war das, was ich suchte. Ich bin gerade so glücklich. Dachte es wäre alles verloren :-) Was ist der Unterschied zwischen Reflog und Log? – Karussell

+0

Wie wäre der normale Weg, Version B zu überspringen? – Karussell

Antwort

0

Diese answer in meinem Fall gearbeitet:

git reflog 
git reset --hard [email protected]{ref} 

Dann brauchte ich die Änderungen ziehen (für die endgültige + Push begehen):

git pull origin master 

Ansonsten habe ich den Fehler: Fehler drücken einige refs zu xy

Verwandte Themen