Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:git:erstes_repo:start [23.09.2024 15:34] – Frank Schiebel | faecher:informatik:oberstufe:git:erstes_repo:start [05.03.2025 14:11] (aktuell) – [Initialisieren] Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Das erste Repo - Erste Schritte mit Git===== | + | ===== Erste Schritte mit git===== |
===== Initialisieren ===== | ===== Initialisieren ===== | ||
- | Um die Abläufe und die Funktionsweise zu erproben, wollen wir zunächst ein Verzeichnis unter Versionskontrolle stellen, in dem wir ein Tagebuch anlegen. Wir erstellen also ein Verzeichnis '' | + | Um die Abläufe und die Funktionsweise zu erproben, wollen wir zunächst ein Verzeichnis unter Versionskontrolle stellen, in dem wir ein **Tagebuch** anlegen. Wir erstellen also ein Verzeichnis '' |
< | < | ||
- | frank@pike:~$ mkdir tagebuch | + | max@pc:~$ mkdir tagebuch |
- | frank@pike:~$ cd tagebuch/ | + | max@pc:~$ cd tagebuch/ |
- | frank@pike:~/tagebuch$ git init | + | max@pc:~$ git init |
- | Leeres Git-Repository in /home/frank/ | + | Leeres Git-Repository in /home/max/ |
</ | </ | ||
Zeile 17: | Zeile 17: | ||
$ ls -la | $ ls -la | ||
insgesamt 132 | insgesamt 132 | ||
- | drwxr-xr-x | + | drwxr-xr-x |
- | drwxr-xr-x 21 frank frank 122880 24. Okt 13:32 .. | + | drwxr-xr-x 21 max max 122880 24. Okt 13:32 .. |
- | drwxr-xr-x | + | drwxr-xr-x |
</ | </ | ||
===== Repository Status anzeigen lassen ===== | ===== Repository Status anzeigen lassen ===== | ||
+ | Das Verzeichnis '' | ||
- | Mit dem Befehl '' | + | Mit dem Befehl '' |
<code bash> | <code bash> | ||
- | frank@pike: | + | max@pc: |
Auf Branch main | Auf Branch main | ||
Zeile 35: | Zeile 36: | ||
Sie "git add" zum Versionieren) | Sie "git add" zum Versionieren) | ||
</ | </ | ||
+ | ((Bei älteren git-Versionen heißt der Hauptbranch, | ||
===== Ein erster Tagebucheintrag ===== | ===== Ein erster Tagebucheintrag ===== | ||
{{ : | {{ : | ||
- | Lege mit einem Texteditor((**Nicht** mit Word oder Writer!)) eine Datei '' | + | Lege mit einem Texteditor((**Nicht** mit Word oder Writer!)) eine Datei '' |
<code bash> | <code bash> | ||
- | frank@pike: | + | max@pc: |
- | frank@pike: | + | max@pc: |
Ich habe gut geschlafen. | Ich habe gut geschlafen. | ||
Um 6:20 bin ich aufgestanden. | Um 6:20 bin ich aufgestanden. | ||
Zeile 65: | Zeile 66: | ||
<code bash> | <code bash> | ||
- | git status | + | max@pc: |
Auf Branch main | Auf Branch main | ||
Zeile 82: | Zeile 83: | ||
<code bash> | <code bash> | ||
- | frank@pike: | + | max@pc: |
- | frank@pike: | + | max@pc: |
Auf Branch main | Auf Branch main | ||
Zeile 95: | Zeile 96: | ||
{{ : | {{ : | ||
- | Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, macht man einen " | + | Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, macht man einen " |
- | + | ||
- | Mit dem Befehl | + | |
+ | Mit dem Befehl | ||
<code bash> | <code bash> | ||
- | frank@pike: | + | max@pc: |
- | [main (Root-Commit) | + | [main (Root-Commit) |
1 file changed, 2 insertions(+) | 1 file changed, 2 insertions(+) | ||
| | ||
Zeile 113: | Zeile 112: | ||
< | < | ||
- | frank@pike: | + | max@pc: |
Auf Branch main | Auf Branch main | ||
nichts zu committen, Arbeitsverzeichnis unverändert | nichts zu committen, Arbeitsverzeichnis unverändert | ||
Zeile 120: | Zeile 119: | ||
Man erkennt, dass der Index wieder leer ist (" | Man erkennt, dass der Index wieder leer ist (" | ||
- | Nun kann man weitere Änderungen im Tagebuch vornehmen und sich an allen wichtigen | + | Nun kann man weitere Änderungen im Tagebuch vornehmen und sich zu allen wichtigen |
===== Wir frühstücken ===== | ===== Wir frühstücken ===== | ||
Zeile 130: | Zeile 129: | ||
* Halte in der Datei '' | * Halte in der Datei '' | ||
* Kontrolliere mit '' | * Kontrolliere mit '' | ||
- | * Füge die Datei '' | + | * Füge die Datei '' |
* Erstelle einen Commit für das Frühstück. Vergiss nicht die Commit-Message nach der Option '' | * Erstelle einen Commit für das Frühstück. Vergiss nicht die Commit-Message nach der Option '' | ||
* Überprüfe den Zustand deines Repositorys. | * Überprüfe den Zustand deines Repositorys. | ||
Zeile 136: | Zeile 135: | ||
[[.loesung01|Lösung]] | [[.loesung01|Lösung]] | ||
- | Wir haben nur einen zweiten Commit erstellt: | + | Wir haben nun einen zweiten Commit erstellt: |
{{ : | {{ : | ||
Zeile 144: | Zeile 143: | ||
</ | </ | ||
- | Man kann sich einen Commit also wie im Bild dargestellt als Archivbox vorstellen, in dem jeweils der Zustand aller versionierten Dateien festgehalten ist. Ein Commit wird durch einen Hexadezimalen " | + | Man kann sich einen Commit also wie im Bild dargestellt als Archivbox vorstellen, in dem jeweils der Zustand aller versionierten Dateien festgehalten ist. Ein Commit wird durch einen Hexadezimalen " |
Mit dem Befehl '' | Mit dem Befehl '' | ||
- | < | + | < |
- | frank@pike: | + | max@pc: |
- | commit | + | commit |
- | Author: | + | Author: |
- | Date: Sun Oct 29 20:32:50 2023 +0100 | + | Date: Wed Oct 2 08:58:45 2024 +0200 |
- | | + | |
- | commit | + | commit |
- | Author: | + | Author: |
- | Date: Sun Oct 29 20:14:11 2023 +0100 | + | Date: Wed Oct 2 08:35:53 2024 +0200 |
- | | + | |
</ | </ | ||
Man erkennt hier auch, dass die eigentlichen Commit-Hashes sehr viel länger sind, als das Beispiel oben vermuten lässt, für die Identifizierung eines Commits reichen die ersten 7 Stellen des Hashes aus. | Man erkennt hier auch, dass die eigentlichen Commit-Hashes sehr viel länger sind, als das Beispiel oben vermuten lässt, für die Identifizierung eines Commits reichen die ersten 7 Stellen des Hashes aus. | ||
Zeile 171: | Zeile 170: | ||
=== (A2) === | === (A2) === | ||
* Füge deinem Tagebuch einen Eintrag '' | * Füge deinem Tagebuch einen Eintrag '' | ||
- | * Jetzt fällt dir ein, dass du zum Frühstück ein Stück Schokolade hattest, | + | * Jetzt fällt dir ein, dass du zum Frühstück ein Stück Schokolade hattest, |
* Überprüfe mit '' | * Überprüfe mit '' | ||
Zeile 177: | Zeile 176: | ||
<code bash> | <code bash> | ||
- | frank@pike: | + | max@pc: |
- | frank@pike: | + | max@pc: |
- | frank@pike: | + | max@pc: |
Auf Branch main | Auf Branch main | ||
Änderungen, | Änderungen, | ||
Zeile 191: | Zeile 190: | ||
keine Änderungen zum Commit vorgemerkt (benutzen Sie "git add" und/oder "git commit -a") | keine Änderungen zum Commit vorgemerkt (benutzen Sie "git add" und/oder "git commit -a") | ||
- | |||
</ | </ | ||
Zeile 197: | Zeile 195: | ||
Wir haben jetzt **zwei** Dinge geändert: | Wir haben jetzt **zwei** Dinge geändert: | ||
* In der Datei '' | * In der Datei '' | ||
- | * Die Datei '' | + | * Die Datei '' |
- | Wenn man nun den nächsten Commit vorbereitet, | + | Wenn man nun den nächsten Commit vorbereitet, |
<code bash> | <code bash> | ||
- | rank@pike: | + | max@pc: |
- | rank@pike: | + | max@pc: |
Auf Branch main | Auf Branch main | ||
Zum Commit vorgemerkte Änderungen: | Zum Commit vorgemerkte Änderungen: | ||
Zeile 212: | Zeile 210: | ||
(benutzen Sie "git add < | (benutzen Sie "git add < | ||
mittagessen.txt | mittagessen.txt | ||
- | |||
</ | </ | ||
Zeile 218: | Zeile 215: | ||
Der Status ist jetzt: | Der Status ist jetzt: | ||
- | + | < | |
- | < | + | max@pc: |
- | git status | + | |
Auf Branch main | Auf Branch main | ||
Unversionierte Dateien: | Unversionierte Dateien: | ||
Zeile 236: | Zeile 232: | ||
</ | </ | ||
- | <callout type=" | + | <callout type=" |
- | Wir haben zwar nur die Datei '' | + | Wir haben jetzt gelernt, wie wir selektiv **Dateien** in einem Verzeichnis **unter Versionskontrolle** stellen können. Mit jedem Commit |
+ | |||
+ | Als nächstes wollen wir uns ansehen, wie wir uns die **Versionsgeschichte** genauer ansehen können und in der Zeit zurückreisen und **ältere Versionen betrachten** können. | ||
</ | </ | ||