0

Ich weiß, dass es so viele Fragen gibt, aber für mich hat keine Lösung geklappt. Hier ist was passiert ist:Wie man Änderungen vom Festschreiben in Git wiederherstellt?

Ich habe versucht, eine neue Funktion in meiner App hinzuzufügen, also habe ich einen neuen Zweig erstellt, um diese Funktion zu implementieren.
Nachdem ich fertig war fusionierte ich es mit dem Master, löschte den Zweig, dass ich das neue Feature getestet und schob die Änderungen an das Repository (bitbucket BTW).
Der Code war normal.

Dann musste ich andere Funktion tho hinzufügen.
Ich habe dann wieder einen neuen Zweig erstellt, aber jetzt habe ich diese andere neue Funktion im Master getestet und den anderen Zweig mit dem "richtigen" Code versehen.

Die neue Funktion hat nicht funktioniert, also habe ich versucht, in den anderen Zweig zu gehen und ihn zu mastering, um die Änderungen zu löschen, gab es mir einen Merge Konflikt tho, ich habe alles versucht, aber ich war einfach nicht ' kann es tun.

Ich habe dann zurück zum Master und löschte den Zweig mit dem richtigen Code.
Ich war mit dem falschen Code in Master.
Ich hatte die Änderungen noch nicht gepusht, nur commited, also habe ich versucht zu suchen, wie man das beheben kann, keiner hat funktioniert.

Ich lief dann diesen Befehl ein: git checkout NUMBER OF THE COMMIT

ich die letzten Commit geprüft geschoben, die den richtigen Code hatte.

Mein Projekt wurde in den richtigen Code geändert, und ich dachte, alles sei in Ordnung, ich dachte, es würde die Änderungen wiederherstellen.

Ich lief git status und das war die Ausgabe:

HEAD detached at f49fb28 
Changes not staged for commit: 
(use "git add <file>..." to update what will be committed) 
(use "git checkout -- <file>..." to discard changes in working directory) 

modified: .DS_Store 
modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate 

no changes added to commit (use "git add" and/or "git commit -a") 

Ich lief git add -A zusammen mit git commit -m "some message" dann und schob sie denken an den Repo, dass der Code würde dort repariert. Tho, mein Repo UND Projekt hat jetzt den gleichen Code, den falschen Code. Ist es möglich, dass ich das Commit, das ich mit der RIGHT-Funktion gemacht habe, auschecke, nicht das falsche und meinen Code zu diesem genauen Commit wiederherstellt? Wenn nicht, wird meine einzige Rettung sein, alles neu zu machen.

BITTE HELFEN SIE MICH!

EDIT: I RAN git status und der Ausgang war nun anders:

HEAD detached from f49fb28 
Changes not staged for commit: 
(use "git add <file>..." to update what will be committed) 
(use "git checkout -- <file>..." to discard changes in working directory) 

modified: Homework.xcworkspace/xcuserdata/Henrique.xcuserdatad/UserInterfaceState.xcuserstate 

no changes added to commit (use "git add" and/or "git commit -a") 

Antwort

0

Ist es möglich, dass ich die commit Kasse ich mit der RECHTEN Funktion

Zunächst einmal gemacht Lesen Sie die vollständige Antwort in den Kommentaren.

Um zusammenzufassen, was Sie jetzt tun können, verwenden Sie einfach git reflog, um das gewünschte Commit auszuprobieren.

Hier ist, wie ein reflog aussehen wird:

enter image description here