2009-02-21 3 views
54

Ich bin ein kürzlich git konvertieren. Es ist großartig, in der Lage zu sein, git-svn zu verwenden, um meine Zweige lokal zu halten, ohne den Svn-Server zu stören. In der neuesten Version des Codes ist ein Fehler aufgetreten. Ich wollte eine Zeit festlegen, als es funktionierte, so dass ich git bisect verwenden konnte. Ich konnte nicht den richtigen Befehl finden, um in der Zeit zurück zu gehen. Vielen Dank.Was ist das git-Äquivalent von "svn update -r"?

Antwort

61
git checkout HEAD~1 

Dies wird Ihren aktuellen HEAD auf eine Revision früher verschieben.

Dies wird Ihren aktuellen HEAD auf die angegebene Revision verschieben. Verwenden Sie git log oder gitk, um die gewünschte Revision zu finden.

+2

Obwohl ich diese beiden Befehle ausgeführt habe, sehe ich nicht meine Dateien. Hier ist die Situation. 1.) Ich lösche einen Ordner. 2.) Ich mache die zwei Befehle, die Sie aufgelistet haben. 3.) Der Ordner wird weiterhin gelöscht, anstatt heruntergezogen zu werden, da ein SVN-Update wiederhergestellt worden wäre. – Danny

+2

Das ist, weil, was Sie suchen, ist "git checkout - ". – Bombe

19

und zurück nach neuesten bekommen (entspricht: svn up), werden Sie den Zweig aktualisieren müssen, in der Regel:

git checkout master 

Dies ist, weil der Kopf auf die Version bezieht, die ausgecheckt wird.

+4

Dies scheint nicht das Äquivalent von Svn up zu sein. Wenn ich in svn etwas bearbeite und es einfach löschen möchte und zur aktuellen Repository-Version zurückkehren möchte, lösche ich einfach die Datei und führe svn hoch. Dann wird die aktuelle Version der Datei, die ich gerade gelöscht habe, aus dem Repository gezogen. Dies passiert nicht mit git checkout master. Es sagt mir nur, dass das Feld gelöscht wurde. Wie bekomme ich eine gelöschte Datei zurück? – mutatron

+3

Man kann Änderungen (einschließlich lokal gelöschter Dateien) rückgängig machen, indem man die entsprechende Datei auscheckt: 'git checkout myfile.txt' – jmu

1
git pull

scheint einen entsprechenden Befehl für das, was Sie Dies scheint für

0

zu tun, was ich wollte, suchen, das ist, was ich glaube, Sie zu fragen, sind für Wenn Sie

git checkout * 
0

verwenden TortoiseGit dann

Right Click in project folder > TortoiseGit > Pull