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:25] – [Tags als Lesezeichen] 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: +
  
-   git log --oneline --abbrev-commit --all --graph+Wenn man einen Tag nicht mehr benötigt, kann man ihn mit dem Befehl ''git tag -d <tagname>'' löschen. Der Commit bleibt dabei erhalten, es wird nur die Referenz und ggf. der Kommentar entfernt.
  
  
-==== Aufgabe ====+---- 
 +{{:aufgabe.png?nolink  |}}
  
-Java-Fingerübungen: Bearbeite alle Aufgaben auf der Seite [[ faecher:informatik:oberstufe:java:algorithmen:einfache_programme:start|einfache Java Programme]] und "speichere" deine Lösungen alle in einem neuen Repository "java-excercises-01", das du auch in deinen Account auf unsere [[https://gitea.schule.social|Gitea Instanz]] pushst. +=== (A2) ===
  
-Die einfachste Vorgehensweise dazu ist:+Gehe in deiner Webseite in der Zeit "hin und her", indem du Tags mit Kommentar setzt und zu Checkout verwendest.
  
-  * An Gitea anmelden 
-  * In Gitea das neue Repo anlegen 
-  * Das Repo auf den lokalen Rechner klonen 
-  * Im Repo arbeiten und Tags anlegen 
-  * Mit ''git push %%--%%tags'' die lokalen Änderungen am Ende auf die Gitea-Instanz synchonisieren 
  
-Dein Repo sollte am Ende die Tags ''Aufgabe1'' bis ''Aufgabe5'' haben, so dass man die Lösung der entsprechenden Aufgabe erhält, wenn man das entsprechende Tag auscheckt. Diese Aufgabe ist als Hausaufgabe auch zuhause fertig zu machen. 
  
  • faecher/informatik/oberstufe/git/workflow/start.1619637915.txt.gz
  • Zuletzt geändert: 28.04.2021 21:25
  • von sbel