Frage

Ich frage mich, ob es einen Weg, um schnell Reverse-spezifische großes Stück ist von einem Commit.

ich eine diff zwischen zwei Commits erzeugen kann oder HEAD den Unterschied zu sehen.

Wie umkehren ich nur eines dieser großen Stücke (oder besser noch, eine Reihe spezifischer hunks)?

War es hilfreich?

Lösung

git checkout -p $REF -- path/to/file

Wo $REF a ref Name oder ID begehen, der angibt, die verpflichten Sie die Datei Zustand zu nehmen. selektiv revert Zum Beispiel, um Änderungen in der letzten Übertragung, Nutzung HEAD^ gemacht.

Andere Tipps

git difftool $REF -- /path/to/file

Dabei gilt $REF a ref Name oder ID begehen, der angibt, die verpflichten Sie die Datei Zustand zu nehmen. selektiv revert Zum Beispiel, um Änderungen der letzten begehen, verwenden sie HEAD ^ gemacht.

Diese Frage wurde bereits von @cdhowie beantwortet, aber ich finde es etwas schönere, um eine interaktive difftool wie meld verwenden selektiv wiederherstellen alte große Stücke / Zeilen Code, vor allem, wenn es ein neu eingeführten, schwer zu findende Fehler im Code.

eine gelöschte Datei wiederherstellen aus einem früheren begehen habe ich die Antwort hier:

finden und eine gelöschte Datei in einem Git-Repository

git checkout <deleting_commit>^ -- <file_path>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top