544 Stimmen

Wie man auf die Version der Datei im Masterzweig des Ursprungs zurückgreift

Ich befinde mich im Master-Zweig meines lokalen Computers eines geklonten Master-Zweigs eines Repo von einem entfernten Server.

Ich habe eine Datei aktualisiert und möchte zur ursprünglichen Version aus dem entfernten Master-Zweig zurückkehren.

Wie kann ich das tun?

1121voto

gahooa Punkte 121696

Angenommen, Sie haben die Datei nicht übertragen oder in den Index aufgenommen, dann:

git checkout -- filename

Angenommen, Sie haben es in den Index aufgenommen, aber nicht übertragen:

git reset HEAD filename
git checkout -- filename

Angenommen, Sie haben die Tat begangen:

git checkout origin/master filename

Angenommen, Sie wollen alle Commits aus Ihrem Zweig löschen (SEHR DESTRUKTIV):

git reset --hard origin/master

70voto

Venkat.R Punkte 7132

Ich hatte das gleiche Problem und bin auf diesen Thread gestoßen, aber mein Problem war mit upstream . Der folgende Git-Befehl hat bei mir funktioniert.

Syntax

git checkout {remoteName}/{branch} -- {../path/file.js}

Beispiel

git checkout upstream/develop -- public/js/index.js

37voto

Lorentz Lasson Punkte 451

Kann auch mit Git-Wiederherstellung

git restore --source origin/master filename

4voto

TGO Punkte 3528

Um eine Alternative hinzuzufügen (die natürlich nicht unbedingt besser ist), können Sie Folgendes tun, wenn Sie die Datei bereits übertragen haben und die Änderung nun rückgängig machen müssen:

git diff HEAD..master -- path/to/file.ext | git apply -

Dies erzeugt ein Diff, um die Datei auf die Version in der master Zweig und wendet ihn dann an. Das Minus nach git apply sagt git um den Patch von der Standardeingabe zu lesen.

Sie können die Datei dann wie gewohnt übertragen.

Hier ist derselbe Befehl in Form einer Shell-Funktion:

# Git Reset File
function grf() {
  git diff HEAD..master -- $1 | git apply -
}

# for example: grf ./someChangedFile.txt

4voto

Amir Hesari Punkte 31

Müssen Sie die letzte Commit-ID und das Verzeichnis der Datei finden, die Sie rückgängig machen wollen.

dann mit den folgenden Befehlen

git checkout [commit ID] -- path/to/file
git commit -m 'commit message'

hilft Ihnen dabei, die gewünschte Datei auf die neueste Version auf dem entfernten Computer zurückzusetzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X