Zurücksetzen von Dateien auf den gleichen Zustand wie im Master-Zweig in Git
- Dateien im Git-Zweig ‘master’ zurücksetzen
- Dateien auf einen bestimmten Commit in Git zurücksetzen
- Fazit
Angenommen, es gibt eine wichtige Datei im master
-Zweig, die nicht bearbeitet werden sollte, aber leider wurde sie bereits mehrmals im dev
-Zweig bearbeitet und bestätigt. Nun möchten Sie alle Änderungen an der Datei verwerfen und ihren Zustand auf den gleichen wie im master
-Zweig ändern. Es gibt eine einfache Möglichkeit, dies ohne großen Aufwand zu erreichen.
Dateien im Git-Zweig ‘master’ zurücksetzen
In Git ist der Befehl git checkout
ein vielseitiges Werkzeug, das für verschiedene Aufgaben verwendet wird, einschließlich des Wechsels zwischen Zweigen, des Erstellens neuer Zweige, der Wiederherstellung von Dateien und mehr.
Wenn wir git checkout
verwenden, um Dateien auf den master
-Zweig zurückzusetzen, sagen wir Git im Wesentlichen, dass es den Inhalt der Dateien in unserem aktuellen Zweig mit denen aus dem master
-Zweig ersetzen soll.
Nun, da wir ein grundlegendes Verständnis von Git Checkout haben, gehen wir die Schritte durch, um bestimmte Dateien auf den master
-Zweig zurückzusetzen.
Schritt 1: Terminal öffnen
Um zu beginnen, öffnen Sie Ihr Terminal oder die Eingabeaufforderung. Wir werden Git-Befehle verwenden, um Dateien zurückzusetzen, daher ist ein Terminal unerlässlich.
Schritt 2: Zum Repository navigieren
Verwenden Sie den Befehl cd
, um zum Verzeichnis Ihres Git-Repositories zu navigieren. Zum Beispiel:
cd /path/to/your/repo
Ersetzen Sie /pfad/zum/ihre/repo
durch den tatsächlichen Pfad zu Ihrem Git-Repository.
Schritt 3: Aktuellen Zweig überprüfen
Bevor Sie einen Reset durchführen, stellen Sie sicher, dass Sie sich auf dem Zweig befinden, von dem Sie Dateien zurücksetzen möchten. Sie können Ihren aktuellen Zweig mit dem folgenden Befehl überprüfen:
git branch
Dieser Befehl zeigt eine Liste der Zweige an, wobei der aktuell ausgecheckte Zweig mit einem Sternchen (*
) markiert ist.
Schritt 4: Git Checkout Reset durchführen
Jetzt verwenden wir den Befehl git checkout
, um Dateien auf den master
-Zweig zurückzusetzen. Verwenden Sie den folgenden Befehl:
git checkout master -- file1 file2 ...
Ersetzen Sie datei1
, datei2
, usw. durch die Namen der Dateien, die Sie zurücksetzen möchten. Sie können mehrere Dateien angeben, indem Sie ihre Namen mit Leerzeichen trennen.
Wenn Sie zum Beispiel zwei Dateien mit den Namen datei1.txt
und datei2.txt
zurücksetzen möchten, lautet der Befehl:
git checkout master -- file1.txt file2.txt
Ein genauerer Blick auf den git checkout
-Befehl
git checkout
: Dies ist der Git-Befehl, der für verschiedene Operationen verwendet wird, einschließlich des Wechsels zwischen Zweigen und dem Zurücksetzen von Dateien.master
: Das gibt den Quellzweig an, von dem Sie die Dateien nehmen möchten. In diesem Fall ist es dermaster
-Zweig.--
: Dieser doppelte Bindestrich wird verwendet, um den Zweig oder Commit von den Dateipfaden zu trennen. Er teilt Git mit, dass die folgenden Elemente Dateipfade und keine Zweige oder Commits sind.
Schritt 5: Status überprüfen
Nach dem Reset ist es eine gute Praxis, den Status Ihres Arbeitsverzeichnisses mit folgendem Befehl zu überprüfen:
git status
Dies zeigt Ihnen, welche Dateien im Vergleich zum master
-Zweig geändert, hinzugefügt oder gelöscht wurden.
Schritt 6: Änderungen bestätigen
Wenn Sie mit den Änderungen zufrieden sind und bereit zum Bestätigen sind, verwenden Sie die folgenden Befehle:
git add .
git commit -m "Your commit message"
Ersetzen Sie "Ihre Commit-Nachricht"
durch eine aussagekräftige Nachricht, die Ihre Änderungen beschreibt.
Dateien auf einen bestimmten Commit in Git zurücksetzen
In Git wird der Befehl git reset
verwendet, um den aktuellen Zweig auf einen bestimmten Zustand zurückzusetzen, z. B. auf einen bestimmten Commit.
Wenn wir git reset
verwenden, um Dateien auf einen bestimmten Commit zurückzusetzen, geben wir Git an, den Zweigzeiger auf diesen Commit zu verschieben und optional auch das Arbeitsverzeichnis und den Zwischenspeicher (Index) zu aktualisieren.
Lassen Sie uns die Schritte durchgehen, um bestimmte Dateien auf einen bestimmten Commit in Git zurückzusetzen.
Schritt 1: Terminal öffnen
Beginnen Sie, indem Sie Ihr Terminal oder die Eingabeaufforderung öffnen. Wir werden Git-Befehle verwenden, daher ist ein Terminal unerlässlich.
Schritt 2: Zum Repository navigieren
Verwenden Sie den Befehl cd
, um zum Verzeichnis Ihres Git-Repositories zu navigieren. Zum Beispiel:
cd /path/to/your/repo
Ersetzen Sie /pfad/zum/ihre/repo
durch den tatsächlichen Pfad zu Ihrem Git-Repository.
Schritt 3: Zielcommit identifizieren
Sie müssen den spezifischen Commit identifizieren, auf den Sie Ihre Dateien zurücksetzen möchten. Sie können git log
verwenden, um die Commit-Historie anzuzeigen und den Commit-Hash zu finden. Zum Beispiel:
git log
Dieser Befehl zeigt die Commit-Historie an, wobei jeder Commit durch einen eindeutigen Hash (eine lange alphanumerische Zeichenkette) identifiziert wird.
Schritt 4: Git-Reset durchführen
Jetzt verwenden wir den Befehl git reset
, um bestimmte Dateien auf den Zielcommit zurückzusetzen. Die grundlegende Syntax lautet wie folgt:
git reset <commit> -- <file1> <file2> ...
Ersetze <commit>
durch den Commit-Hash, den Branch-Namen oder den Tag-Namen, auf den du zurücksetzen möchtest. Ersetze <file1>
, <file2>
und so weiter durch die Namen der Dateien, die du zurücksetzen möchtest. Du kannst mehrere Dateien angeben, indem du ihre Namen mit Leerzeichen trennst.
Zum Beispiel, wenn du zwei Dateien mit den Namen file1.txt
und file2.txt
auf einen Commit mit dem Hash abc123
zurücksetzen möchtest, wäre der Befehl wie folgt:
git reset abc123 -- file1.txt file2.txt
Ein genauerer Blick auf den Befehl git reset
git reset
: Dies ist der Git-Befehl, der zum Zurücksetzen von Branches und Dateien verwendet wird.<commit>
: Ersetze diesen Platzhalter durch den Commit-Hash, den Branch-Namen oder den Tag-Namen, auf den du deine Dateien zurücksetzen möchtest.--
: Dieser doppelte Bindestrich wird verwendet, um den Commit von den Dateipfaden zu trennen. Er teilt Git mit, dass es sich bei den folgenden Elementen um Dateipfade handelt, nicht um Branches oder Commits.
Schritt 5: Überprüfe den Status
Nach dem Zurücksetzen ist es wichtig, den Status deines Arbeitsverzeichnisses mit folgendem Befehl zu überprüfen:
git status
Dies zeigt an, welche Dateien im Vergleich zum zurückgesetzten Commit geändert, hinzugefügt oder gelöscht wurden.
Schritt 6: Commite deine Änderungen
Wenn du mit dem Zurücksetzen zufrieden bist und bereit zum Commit bist, verwende die folgenden Befehle:
git add .
git commit -m "Your commit message"
Ersetze "Deine Commit-Nachricht"
durch eine aussagekräftige Nachricht, die die durch das Zurücksetzen eingeführten Änderungen beschreibt.
Alternative: Verwende git checkout
Eine alternative Möglichkeit, dieselbe Aufgabe zu erledigen, ist folgender Befehl:
git checkout <commit_hash> <filename>
Dies hilft ebenfalls, dasselbe Ergebnis zu erzielen.
Fazit
Das Zurücksetzen von Dateien auf den master
-Branch in Git ist eine grundlegende Fähigkeit für jeden Entwickler, der an gemeinsamen Projekten arbeitet.
Der Befehl git checkout
ermöglicht es dir, deine Arbeit mühelos mit den neuesten Änderungen im master
-Branch zu synchronisieren.
Indem du den in diesem Leitfaden beschriebenen Schritten folgst, kannst du sicher bestimmte Dateien zurücksetzen und sicherstellen, dass dein Projekt konsistent und aktuell bleibt.
Denke daran, dass Git verschiedene Mechanismen zum Zurücksetzen von Dateien bietet, wie z.B. git reset
zum Zurücksetzen auf spezifische Commits.
Jede Methode hat ihre Anwendungsfälle, also wähle diejenige aus, die am besten zu deinen Bedürfnissen passt.
Ob du Fehler korrigierst oder Änderungen aus dem master
-Branch einfügst, die Flexibilität von Git gewährleistet effiziente und zuverlässige Versionierung.
Verwandter Artikel - Git Reset
- Eine Git-Zusammenführung mit Konflikten rückgängig machen
- Machen Sie den Development-Branch mit dem Master-Branch identisch
- Unterschied zwischen den Git-Befehlen `Reset`, `Revert` und `Checkout`.
- Unterschied zwischen Git RM --Cached und Git Reset File
- Verschiedene Methoden zum Entfernen lokaler Git-Änderungen
- Änderungen in Git rückgängig machen