2016-05-25 27 views
2

Ich denke, ich habe den größten Fehler in meiner Codierung Leben gemacht. Erased Dateien mit Einzug SmartGit - Kann ich sie zurück (Windows 10)

Nachdem ich 3 Wochen lang an meinem neuen Computer gearbeitet hatte, entschied ich, dass es Zeit war, meinen Code mit dem Code, den ich bereits auf Bitbucket habe, zu verbinden (ich hätte direkt verschmolzen sein sollen). Ich hatte den Code (und alles andere) vom alten Computer auf den neuen über meine Festplatte verschoben. Nachdem ich sie bewegt hatte, machte ich einen letzten Commit von meinem alten Computer (so dass alle Dateien nicht synchronisiert wurden). Nachdem diese 3 Wochen des Codierens vergangen waren, habe ich mein Repository über SmartGit auf dem neuen Computer eingegeben.

Beim Drücken erhielt ich den folgenden Fehler in SmartGit: "nicht alle refs wurden geschoben", als einige alte Dateien geändert worden waren.

Ich entschied mich daher, aus dem Repository (mit einem "Fetch") zu ziehen. Dadurch überschrieb SmartGit alle meine Dateien lokal in den alten Dateien und löschte alle neuen Dateien, die ich in den Ordnern erstellt hatte:/Ich bin ein Idiot.

Nein sagt "< Rebasing>" neben meinem Projekt-Namen in SmartGit.

Gibt es eine Möglichkeit, die Dateien zurück zu bekommen ??

+0

Hat SmartGit lokale Änderungen gespeichert, siehe ** Zweige ** anzeigen, ** Stash ** Knoten? Überprüfen Sie außerdem ** ** ** ** ** und ** ** Recycelbare Commits ** **, um Ihr altes lokales Commit zu finden. – mstrap

Antwort

2

Keine Sorge, wenn Sie etwas begangen, da ist keine einfache Möglichkeit, diese Änderungen zu verlieren.Einfach, nicht nur mit Pull-Rebase.

Sie können nur Ihre Änderungen verlieren, wenn Sie sie nicht begangen haben und Sie diese Änderungen als Änderungen im Arbeitsverzeichnis haben. Oder wenn Sie inszeniert Sie können den Bereitstellungsbereich einfach zurücksetzen yway, GIT (und insbesondere SmartGit) werden diese Änderungen nicht stillschweigend löschen. Wenn die Rebase keine Konflikte aufweist, werden Ihre Änderungen nur bei neuen Commits angezeigt. Wenn Konflikte auftreten, werden sie direkt in Ihrem Arbeitsverzeichnis angezeigt.

Nun zurück zu Ihrer Situation, wie @mstrap in den Kommentaren bemerkt, gehen Sie überprüfen Sie Ihre Stashes und Recycelbare Commits. Dein Code ist irgendwo da draußen. Wenn dies nicht der Fall ist, haben Sie vielleicht etwas übersehen, um Ihre Situation zu beschreiben.

1

Von dem, was ich verstehe, git konnte nicht Ihre lokalen commit drücken. Also, wenn der Commit gemacht wurde lokal können Sie tun:

git reset --hard <tag/branch/commit id> 

Wenn das wurde nie commit dann Angst gemacht im, dass Ihr kein Glück :(