Git reset funktioniert nicht

Machte ich einen commit, gezogen und zusammengefasst, einige änderungen, und dann eine zweite Begehen. Wenn ich zurück wollte zu den ersten commit, lief ich den Befehl

git reset --hard <sha hash>

Während die Antwort war: "HEAD ist jetzt bei <sha-hash - >", mein code sieht genauso aus wie es Tat, bevor ich lief diesen Befehl. In der Regel sind es änderungen, was ich vor hatte, aber es sieht aus wie etwas ist, nicht richtig funktioniert. Brauche ich zum ausführen eines anderen Befehls auf Zusammenführung aufheben, bevor die Rückstellung Kopf?


Extra info

Wenn ich git status es sagt:

app/assets/images/.DS_Store.orig ist nicht

und ich kann es hinzufügen.

Laut git reflog zog ich, bevor ich den commit hash1 (die ich als "vorher mischen"). Es ist ein sha-hash2 für das ziehen (die git log nicht zeigen). Wenn ich Graben hash1 und hash2, sehe ich die Veränderungen die ich gemacht habe und rekonstruieren könnte meinen original-code aus diesem. Noch scheint dies sehr seltsam. Wenn ich versuche zu git reset entweder von Ihnen, die ich nicht bekommen kann meinen code von vor dem merge.

  • Sind Sie sicher, dass Sie wieder auf die richtige Begehen?
  • nach git log, ja
  • Tut git status sagen, es gibt Veränderungen begangen werden? Was sind Sie?
  • git status sagt app/assets/images/.DS_Store.orig ist nicht verfolgte, und ich kann es hinzufügen.
  • Sorry, aber ich glaube nicht, dass es genug Informationen in Ihre Frage endgültig zu erklären, was Sie sehen. Vielleicht bekommen die SHA-1 des ersten und des zweiten commits (git reflog helfen könnte), dann verwenden Sie git diff [hash1] [hash2] zu sehen, der Unterschied zwischen Ihnen. Dann versuchen Sie es mit git checkout [hash1] und git checkout [hash2] zu sehen, wenn Ihre arbeiten direkt änderungen entsprechend.
  • nach git reflog, zog ich, bevor ich den commit hash1 (die ich als "vorher mischen"). Es ist ein sha-hash2 für das ziehen (die git log nicht zeigen). Wenn ich Graben hash1 und hash-2, sehe ich die Veränderungen die ich gemacht habe und rekonstruieren könnte meinen original-code aus diesem. Vielen Dank für Ihre Hilfe. Noch scheint dies sehr seltsam. Wenn ich versuche, git reset-entweder von Ihnen, die ich nicht bekommen kann meinen code von vor dem merge
  • Natürlich weiß ich nicht viel über die situation, aber es klingt wie Sie möglicherweise verwenden git reset wenn Sie wären besser dran mit git checkout. Wenn Sie wollen, ziehen Sie eine alte version des Codes, die Sie verwenden würden, Kasse. In der Regel werden Sie nicht tun, einen hard-reset, es sei denn, Sie beging einen Fehler, den Sie wollen, dauerhaft aus der Geschichte gelöscht. Ich empfehle die Lektüre von "Zurücksetzen" Entzaubert nur um sicherzustellen, dass Sie nicht versehentlich verlieren Geschichte.
  • Sind Sie sicher, dass Sie nicht mit einem editor Zwischenspeichern der Dateien? Bitte geben Sie mehr Informationen über Ihre Benutzung-Fall, so dass wir verstehen Ihre situation.
  • Nicht verfolgte Dateien sind davon nicht berührt git reset --hard

InformationsquelleAutor Eric Baldwin | 2013-03-21
Schreibe einen Kommentar