faecher:informatik:oberstufe:git:workflow:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:git:workflow:start [28.04.2021 21:27] – [Task: Zurückgehen in der Zeit] sbelfaecher:informatik:oberstufe:git:workflow:start [28.04.2021 21:46] (aktuell) – [Verwenden von Tags zum Springen] sbel
Zeile 7: Zeile 7:
    git tag -l // zeigt tags    git tag -l // zeigt tags
    git tag v1 // legt das tag v1 an    git tag v1 // legt das tag v1 an
 +   git tag -a v1.4 -m "my version 1.4" // legt einen Tag mit Kommentar an
  
-Um zu einem solchen "Lesezeichen" zurückzukehren, kann man den Tag ins lokale Repo "auschecken": 
  
-  git checkout v1+===== Zwischen Commits wechseln =====
  
-==== Task: Zurückgehen in der Zeit ====+Mit dem Befehl ''git checkout <commitid>'' kann man einen beliebigen Snapshot ins Arbeitsverzeichnis "auschecken", z.B. so:  
 + 
 +{{ :faecher:informatik:oberstufe:git:workflow:auswahl_328.png |}} 
 + 
 +Wenn man jetzt allerdings das log betrachtet, sieht man ein Problem: 
 + 
 +{{ :faecher:informatik:oberstufe:git:workflow:auswahl_329.png |}} 
 + 
 +Man sieht im log nur die Commits, die relativ zum aktuellen Snapshot in der Vergangenheit liegen! Wie soll man nun zurück zum letzten Commit gelangen? 
 + 
 +Mit ''git rev-list --all --remotes'' kann man sich alle Commits anzeigen lassen, mit ein paar Optionen siehts noch netter aus:  
 +<code> 
 +git rev-list --all --remotes --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit 
 +</code> 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 + 
 +=== (A1) === 
 + 
 +Lege dir einen Alias ''ac'' an, der alle Commits hünsch ausgibt. Springe dann zwischen deinen Commits hin und her und verfolge die Änderungen nach. Finde heraus, was bei solchen Sprüngen mit nicht versionierten Dateien im Arbeitsverzeichnis geschieht. 
 + 
 +==== Verwenden von Tags zum Springen ====
  
 Aktuellen Zustand merken: Aktuellen Zustand merken:
  
-  git tag v2+  git tag now
  
 Zielcommit raussuchen: Zielcommit raussuchen:
Zeile 28: Zeile 49:
 Umsehen - ist es das was man sich merken will? wenn ja: Tag anlegen mit ''git tag v0''. Umsehen - ist es das was man sich merken will? wenn ja: Tag anlegen mit ''git tag v0''.
  
-Nun kann man zwischen den Tags hin und her wechseln, wie man möchte. Am besten ist es natürlich, bereits beim Programmieren zu entsprechenden Zeitpunkten Tags anzulegen.+Nun kann man zwischen den Tags hin und her wechseln, wie man möchte. Am besten ist es natürlich, bereits beim Programmieren zu entsprechenden Zeitpunkten Tags anzulegen, die mit entsprechenden Kommentaren versehen sind.
  
-Eine hübsche History mit Graph der Branches erhält man z.Bso: +Wenn man einen Tag nicht mehr benötigt, kann man ihn mit dem Befehl ''git tag -d <tagname>'' löschenDer Commit bleibt dabei erhalten, es wird nur die Referenz und ggf. der Kommentar entfernt.
  
-   git log --oneline --abbrev-commit --all --graph 
  
 ---- ----
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
  
-=== (A1) ===+=== (A2) ===
  
-Gehe in deiner Webseite in der Zeit "hin und her", indem du Tags verwendest.+Gehe in deiner Webseite in der Zeit "hin und her", indem du Tags mit Kommentar setzt und zu Checkout verwendest.
  
  
  
  • faecher/informatik/oberstufe/git/workflow/start.1619638069.txt.gz
  • Zuletzt geändert: 28.04.2021 21:27
  • von sbel