Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
faecher:informatik:oberstufe:git:erstes_repo:start [28.04.2021 13:16] – [Ein erstes Repo] sbel | faecher:informatik:oberstufe:git:erstes_repo:start [28.04.2021 21:49] – [Material] sbel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Ein erstes | + | ===== Das erste Repo ===== |
+ | |||
+ | ===== Initialisieren | ||
Wir wollen zunächst eine kleine statische Webseite entwickeln und unter Versionskontrolle stellen. | Wir wollen zunächst eine kleine statische Webseite entwickeln und unter Versionskontrolle stellen. | ||
Zeile 20: | Zeile 22: | ||
</ | </ | ||
- | Bevor man sinnvoll mit Git arbeiten kann, sollte man zunächst | + | ===== Grundkonfiguration ===== |
+ | |||
+ | Bevor man sinnvoll mit Git arbeiten kann, sollte man zunächst seinen Namen und seine Mailadresse korrekt einstellen: | ||
< | < | ||
Zeile 27: | Zeile 31: | ||
</ | </ | ||
- | Diese Befehle speichern die Einstellungen nur für das Repository, in dem wir gerade arbeiten, wenn man die Einstellungen für alle Repos auf einem Rechner vornehmen möchte, muss man das Flag '' | + | Diese Befehle speichern die Einstellungen nur für das Repository, in dem wir gerade arbeiten, wenn man die Einstellungen für alle Repos auf einem Rechner vornehmen möchte, muss man das Flag '' |
- | git status | + | Gespeichert werden die für ein Repository geltenden lokalen Einstellungen in der Datei '' |
- | Auf Branch master | + | |
- | Noch keine Commits | + | <code bash> |
+ | [frank@rita webseite]$ git config | ||
+ | [frank@rita webseite]$ git config | ||
+ | [frank@rita webseite]$ cat .git/config | ||
+ | [core] | ||
+ | repositoryformatversion = 0 | ||
+ | filemode = true | ||
+ | bare = false | ||
+ | logallrefupdates = true | ||
+ | [user] | ||
+ | name = John Doe | ||
+ | email = john.doe@nirgends.nix | ||
- | Damit git geschmeidig funktioniert, | + | </ |
- | < | + | ===== Repository Status anzeigen lassen ===== |
- | $ git config --global user.name "Mein Name" | + | |
- | $ git config --global user.email nix@example.org | + | Mit dem Befehl '' |
+ | |||
+ | < | ||
+ | [frank@rita webseite]$ git status | ||
+ | Auf Branch main | ||
+ | |||
+ | Noch keine Commits | ||
+ | |||
+ | nichts zu committen (erstellen/ | ||
+ | Sie "git add" zum Versionieren) | ||
</ | </ | ||
Zeile 44: | Zeile 67: | ||
===== Ein erster Commit ===== | ===== Ein erster Commit ===== | ||
- | Den aktuellen Status eines Repositorys kann man sich durch den Befehl '' | + | Um den git-Workflow zu verstehen, muss man drei Begriffe unterscheiden: Das Arbeitsverzeichnis (" |
- | < | + | * **Arbeitsverzeichnis (Working Directory): |
- | $ git status | + | * **Index (" |
- | Auf Branch | + | * **Repository: |
+ | |||
+ | |||
+ | {{ .: | ||
+ | |||
+ | ==== Schritt für Schritt ==== | ||
+ | |||
+ | Neue Dateien befinden sich zunächst " | ||
+ | |||
+ | < | ||
+ | [frank@rita webseite]$ git status | ||
+ | Auf Branch | ||
Noch keine Commits | Noch keine Commits | ||
- | nichts zu committen (erstellen/ | + | Unversionierte |
- | Sie "git add" zum Versionieren) | + | |
+ | index.html | ||
+ | style.css | ||
+ | nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien | ||
+ | (benutzen Sie "git add" zum Versionieren) | ||
</ | </ | ||
- | Lege nun eine '' | + | Mit dem Befehl |
+ | <code bash> | ||
+ | [frank@rita webseite]$ git add index.html | ||
+ | [frank@rita webseite]$ git status | ||
+ | Auf Branch main | ||
+ | Noch keine Commits | ||
+ | |||
+ | Zum Commit vorgemerkte Änderungen: | ||
+ | (benutzen Sie "git rm --cached < | ||
+ | neue Datei: | ||
+ | |||
+ | Unversionierte Dateien: | ||
+ | (benutzen Sie "git add < | ||
+ | style.css | ||
+ | </ | ||
+ | |||
+ | Wenn man mit den im Index vorgemerkten Änderungen zufrieden ist, macht man einen " | ||
+ | |||
+ | |||
+ | |||
+ | <code bash> | ||
+ | [frank@rita webseite]$ git commit -m " | ||
+ | [main (Root-Commit) bb0d027] Erster commit | ||
+ | 1 file changed, 0 insertions(+), | ||
+ | | ||
+ | [frank@rita webseite]$ git status | ||
+ | Auf Branch main | ||
+ | Unversionierte Dateien: | ||
+ | (benutzen Sie "git add < | ||
+ | style.css | ||
+ | |||
+ | nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien | ||
+ | (benutzen Sie "git add" zum Versionieren) | ||
+ | </ | ||
+ | |||
+ | Man erkennt, dass der Index wieder leer ist (" | ||
+ | |||
+ | Die Liste deiner Commits kann man mit '' | ||
< | < | ||
- | sbel@r107-ws15: | + | [frank@rita webseite]$ git log |
- | sbel@r107-ws15: | + | commit 893b24e60a391d2064ea37e61d4af0435bec4f7d (HEAD -> main) |
- | sbel@r107-ws15: | + | Author: John Doe < |
- | sbel@r107-ws15: | + | Date: Wed Apr 28 20:16:28 2021 +0200 |
+ | |||
+ | CSS hinzugefügt | ||
+ | |||
+ | commit bb0d027bd6376da3d67c46bbeeb14e5fd1623581 | ||
+ | Author: John Doe < | ||
+ | Date: Wed Apr 28 15:35:30 2021 +0200 | ||
+ | |||
+ | Erster commit | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Aufgaben ===== | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | === (A1) === | ||
+ | |||
+ | Erkläre, was man machen muss, um von der derzeitigen Situation ausgehende, die Datei '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | |||
+ | === (A2) === | ||
+ | Lege ein Verzeichnis '' | ||
+ | |||
+ | <code bash> | ||
+ | sbel@r107-ws15: | ||
+ | sbel@r107-ws15: | ||
+ | sbel@r107-ws15: | ||
+ | sbel@r107-ws15: | ||
+ | sbel@r107-ws15: | ||
+ | sbel@r107-ws15: | ||
css img index.html | css img index.html | ||
</ | </ | ||
- | {{ .:gitstagingcommit.png |}} | + | * Initialisisere das Verzeichnise '' |
+ | * Lasse dir den Status des Repos anzeigen | ||
+ | * Füge die Datei und die beiden Verzeichnisse dem Index hinzu und erstelle einen ersten Commit. Untersuche den Status deines Repos. Welche Beobachtung machst du hinsichtlich der beiden Verzeichnisse? | ||
+ | |||
+ | Erstelle nun im Verzeichnis '' | ||
+ | |||
+ | <code css> | ||
+ | body { | ||
+ | color: #666; | ||
+ | } | ||
+ | |||
+ | h1 { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Füge außerdem in die Datei '' | ||
+ | |||
+ | <code html> | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | <link rel=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Untersuche jetzt den Zustand deines Repos. | ||
+ | |||
+ | Erstelle weiteren Commit, der die letzten Änderungen enthält. Was ist hierfür der Reihe nach zu tun? | ||
+ | |||
+ | Ändere weitere Teile deiner Webseite. Erstelle jeweils an sinnvollen Stellen weitere Commits mit entsprechenden Commit-Messages. | ||
+ | |||
+ | Betrachte die Ausgabe des Befehls '' | ||
- | + | ===== Material ===== | |
- | * Neue Dateien befinden sich zunächst im Arbeitsverzeichnis und werden von git ignoriert. Teste das mit '' | + | |
- | * Mit dem Befehl '' | + | |
- | * Führe den Befehl '' | + | |
- | * Überprüfe den Zustand von Arbeitsverzeichnis und Staging Area mit '' | + | |
+ | {{simplefilelist>: |