Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:git:erstes_repo:start [28.04.2021 20:16] – [Schritt für Schritt] sbel | faecher:informatik:oberstufe:git:erstes_repo:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Das erste Repo ===== | ||
- | ===== Initialisieren ===== | ||
- | |||
- | Wir wollen zunächst eine kleine statische Webseite entwickeln und unter Versionskontrolle stellen. | ||
- | |||
- | < | ||
- | $ mkdir webseite | ||
- | $ cd webseite | ||
- | $ git init | ||
- | Leeres Git-Repository in / | ||
- | </ | ||
- | |||
- | Nun steht das Verzeichnis '' | ||
- | |||
- | < | ||
- | $ ls -la | ||
- | insgesamt 132 | ||
- | drwxr-xr-x | ||
- | drwxr-xr-x 21 frank frank 122880 24. Okt 13:32 .. | ||
- | drwxr-xr-x | ||
- | </ | ||
- | |||
- | ===== Grundkonfiguration ===== | ||
- | |||
- | Bevor man sinnvoll mit Git arbeiten kann, sollte man zunächst seinen Namen und seine Mailadresse korrekt einstellen: | ||
- | |||
- | < | ||
- | git config user.email " | ||
- | git config user.name "John Doe" | ||
- | </ | ||
- | |||
- | 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 '' | ||
- | |||
- | Gespeichert werden die für ein Repository geltenden lokalen Einstellungen in der Datei '' | ||
- | |||
- | <code bash> | ||
- | [frank@rita webseite]$ git config | ||
- | [frank@rita webseite]$ git config | ||
- | [frank@rita webseite]$ cat .git/ | ||
- | [core] | ||
- | repositoryformatversion = 0 | ||
- | filemode = true | ||
- | bare = false | ||
- | logallrefupdates = true | ||
- | [user] | ||
- | name = John Doe | ||
- | email = john.doe@nirgends.nix | ||
- | |||
- | </ | ||
- | |||
- | ===== Repository Status anzeigen lassen ===== | ||
- | |||
- | Mit dem Befehl '' | ||
- | |||
- | <code bash> | ||
- | [frank@rita webseite]$ git status | ||
- | Auf Branch main | ||
- | |||
- | Noch keine Commits | ||
- | |||
- | nichts zu committen (erstellen/ | ||
- | Sie "git add" zum Versionieren) | ||
- | </ | ||
- | |||
- | |||
- | ===== Ein erster Commit ===== | ||
- | |||
- | Um den git-Workflow zu verstehen, muss man drei Begriffe unterscheiden: | ||
- | |||
- | * **Arbeitsverzeichnis (Working Directory): | ||
- | * **Index (" | ||
- | * **Repository: | ||
- | |||
- | |||
- | {{ .: | ||
- | |||
- | ==== Schritt für Schritt ==== | ||
- | |||
- | Neue Dateien befinden sich zunächst " | ||
- | |||
- | <code bash> | ||
- | [frank@rita webseite]$ git status | ||
- | Auf Branch main | ||
- | |||
- | Noch keine Commits | ||
- | |||
- | Unversionierte Dateien: | ||
- | (benutzen Sie "git add < | ||
- | index.html | ||
- | style.css | ||
- | |||
- | nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien | ||
- | (benutzen Sie "git add" zum Versionieren) | ||
- | </ | ||
- | |||
- | 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 '' | ||
- | |||
- | < | ||
- | [frank@rita webseite]$ git log | ||
- | commit 893b24e60a391d2064ea37e61d4af0435bec4f7d (HEAD -> main) | ||
- | Author: John Doe < | ||
- | 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 | ||
- | </ | ||
- | |||
- | * 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 '' |