Ich habe noch nie Schildkröte alles verwendet (es sei denn Sie die electronica Gruppe zählen), aber ich werde Ihnen diese Informationen bei (ich habe nicht TortoiseGit
so kann ich überprüfen, es wird nicht verwendet) Sie finde keinen Weg, dies mit der GUI zu tun, oder du entscheidest dich letztendlich, CLI zu machen.
Wie @Tuxified erwähnt, können Sie dies mit git reset --hard <COMMIT>
erreichen. Sie müssen eine Commit angeben, die in einer einschüchternden Palette möglicher Möglichkeiten erfolgen kann; am häufigsten sind Formulare wie HEAD~4
, die ein commit 4 commits vor dem Kopf des aktuellen Zweigs und deadbeef42
spezifizieren, das ein commit angibt, dessen SHA1 mit 0xdeadbeef42 beginnt. Wenn Sie Linux oder OSX ausführen, können Sie die vollständigen Details zu den Commit-Spezifizierern über man git-rev-parse
unter "FESTLEGEN DER ÜBERPRÜFUNGEN" abrufen.
Sie können auch den aktuellen Zweig umbenennen (git branch -m new_branch_name
) und dann einen neuen Zweig mit dem Kopf an der Stelle erstellen, an der Sie zurückkehren möchten. Der Vorteil ist, dass, wenn Sie am Ende alle oder einige der Dinge, die Sie dort getan haben, verwenden möchten, können Sie immer noch leicht darauf zugreifen; und wenn du das Commit falsch schreibst, bist du vor einem großen Heiligenmoment gerettet. Plusgit Zweige sind superleicht, der einzige wirkliche Nachteil ist, dass es einen anderen Zweig gibt. Um den neuen Master-Zweig zu erstellen, verwenden Sie , und dann überprüfen Sie es. Der Nettoeffekt ist also derselbe wie bei der ersten Option, außer dass Sie Ihre alten Änderungen noch in der Verzweigung new_branch_name
gespeichert haben. Sie können diese Änderungen später auch nach neuen Commits an master
wieder zusammenführen, wenn Ihnen danach ist.
Beachten Sie, dass eine dieser Techniken in Betracht gezogen werden „Umschreiben der Geschichte“ und wird zu Problemen führen, wenn Sie Ihre Repo sind mit anderen zu teilen. Wenn Sie clever sind und zu einem Backup-Repo in einer Cloud-Stadt oder einem anderen PC drängen, müssen Sie die Dinge an diesem Ende beheben, bevor Sie erneut darauf zugreifen können.
Dies ist wahrscheinlich viel mehr Informationen, als Sie gerade brauchen, aber wenn Sie am Ende mit Git viel verwenden, werden Sie wahrscheinlich diese Dinge irgendwann lernen wollen. Tut mir leid, ich weiß nicht, wie man Tortoise verwendet ...
Oh, okey. Nun, soweit ich sehen kann, hat es einen Befehl zum Zurücksetzen. Aber es ändert Änderungen, die ich in der Arbeitskopie gemacht habe, zurück zum letzten Commit. Ich habe keine Möglichkeit gesehen, mehrere Commits "down the road" rückgängig zu machen.In jedem Fall, mindestens +1 für den Versuch :) – richard
Ah, ich habe nicht bemerkt, dass Sie zurückgehen wollten 5 commits X ( 'git-reset' (--hard) sollte Ihr neuer Freund sein;) – Tuxified