i

Auschecken mit reset und checkout

Zunächst stellen wir mit den Befehlen

  echo "Version 4" > test-datei.txt 
  git add test-datei.txt 
  echo "Version 5" > test-datei.txt 
den folgenden Ausgangszustand unseres Projektes her:
  HEAD: Version 3
  Index: Version 4
  Arbeitsverzeichnis: Version 5

Auschecken vom lokalen Repository in den Index

Nun können wir die Änderung im Index verwerfen, indem wir diesen mit dem Inhalt des lokalen Repositories überschreiben:
  git reset -- test-datei.txt
Anschließend sollte der Zustand des Projektes wie folgt sein:
  HEAD: Version 3
  Index: Version 3
  Arbeitsverzeichnis: Version 5

Auschecken vom Index ins Arbeitsverzeichnis

Nun überschreiben wir auch noch die Datei im Arbeitsverzeichnis mit dem Inhalt des Index' durch den Befehl:
  git checkout -- test-datei.txt
Damit hat unser Projekt nun wieder den Zustand:
  HEAD: Version 3
  Index: Version 3
  Arbeitsverzeichnis: Version 3

Auschecken vom lokalen Repository in Index und Arbeitsverzeichnis gleichzeitig

Mit dem folgende Befehl kann die Testdatei auch vom lokales Repository gleichzeitig sowohl in den Index als auch ins Arbeitsverzeichnis kopiert werden:
  git checkout HEAD -- test-datei.txt

Verwerfen der letzten Commits

Der Befehl git reset kann auch zum Verwerfen der letzten Commits verwendet werden. Zum Beispiel verwirft der folgende Befehl die letzten 2 Commits:
git reset --hard HEAD~2

Die Option --hard bewirkt, dass hierbei auch sofort die Version 2 Positionen vor dem alten HEAD ausgecheckt wird. Also Vorsicht, denn sowohl Index als auch Arbeitsverzeichnis werden dabei mit der neu ausgecheckten Version überschrieben!

Übersicht und Wirkungsweise der Befehle zum Ein- und Auschecken

Zusammenfassend ergibt sich folgende Übersicht der Wirkungsweise der Befehle zum Ein- und Auschecken zwischen lokalem Repository, Index und Arbeitsverzeichnis: Diagramm zur Übersicht und Wirkungsweise der Befehle zum ein- und Auschecken

Interaktive Visualisierung

Auf der Seite Visualizing Git Concepts with D3 man interaktiv viusuell aufbereitet verfolgen, wie sich das Auschecken auf den Baum im lokalen Repository auswirkt.

Suche

v
5.3.4.3
www.inf-schule.de/software/verteilte_versions_verwaltung_git/lokale_repositories/auschecken_mit_reset_und_checkout
www.inf-schule.de/5.3.4.3

Rückmeldung geben