Git: Start
Dieses Tutorial zeigt dir Schritt für Schritt, wie du Git auf deinem Rechner verwendest. Es benötigt noch keinen GitHub account.
🎯 Ziel
Nach diesem Tutorial kannst du:
- Git auf dem System installieren.
- Ein neues Git-Repository erstellen (init).
- Änderungen speichern (add/commit).
- Alte Stände anschauen und wiederherstellen (restore).
- Mit Entwicklungszweigen arbeiten (branch/switch/checkout).
- Änderungen verschiedener Entwicklungszweigen zusammenführen (merge).
💿 1. Git Installieren
Windows
- Zum letzten Git for Windows Installer navigieren.
- Den Installer starten und den Instruktionen folgen.
- Überall kann der Standard übernommen werden.
- 💥 Wichtig: Unbedingt Git Bash selektieren!
- Git Bash starten. (Suche im Windows Startmenü nach "Git")
- mit
git versionprüfen, ob Git installiert ist.
MacOS und Linux
Mac und Linux kommen mit einer vorinstallierten Version von Git.
- Für MacOS empfehle ich Homebrew (brew) dann
brew install git
✅ Was passiert:
Git (und Git Bash für Windows) sollte nun auf dem System vorhanden sein.
Git Bash ist eine Shell für Windows, die die basic Unix-Befehle wie cp,
rm, cd und co kennt. Es ist jedoch keine 100% POSIX kompatible shell!
⚙️ 2. Git Konfigurieren
Neu wird der standard Entwicklungszweit main genannt. Früher war das master.
Damit wir hier keine Inkonsistenz generieren, solltet Ihr folgenden Befehl
ausführen.
git config set --global init.defaultBranch main
Zuerst sollte der Benutzer gesetzt sein. Mit --global wird angegeben, dass
dieser Benutzer für jedes Repository verwendet werden soll.
- 💥 Wichitg: Schaut, dass Ihr die gleiche E-Mail-Adresse verwendet, wie der Account bei GitHub!
git config --global user.name "Dein Name!"
git config --global user.email "dein.name@bbzbl-it.ch"
Dann müsst Ihr noch angeben, welchen Editor verwendet werden soll. Z.B. für
Merge-Conflicts. Für alle, die VS-Code installiert haben, sollte folgenden
Befehl gehen. VS-Code registriert sich als code im Terminal:
git config --global core.editor "code --wait"
✅ Was passiert:
- Wenn Ihr mit Git arbeitet, wird automatisch der richtige Benutzer für die "commits" gesetzt.
- Wenn Git einen Editor öffnen möchte, wird euer gewünschter geöffnet.
🧱 3. Neues Projekt und Repository anlegen
Erstelle zunächst einen neuen Projektordner und initialisiere Git darin.
mkdir mein-projekt
cd mein-projekt
git init
✅ Was passiert:
Git legt den versteckten Ordner .git an. Ab jetzt verfolgt Git alle Änderungen
in diesem Verzeichnis.
📄 4. Erste Datei erstellen
Erstelle z.B. eine Datei hallo.txt mit einfachem Inhalt.
echo "Hallo Welt" > hallo.txt
Überprüfe den Git-Status:
git status
Du siehst, dass hallo.txt als untracked file angezeigt wird.
✍️ 5. Datei für den nächsten Commit vormerken
git add hallo.txt
Überprüfe erneut:
git status
✅ Was passiert: Die Datei ist jetzt staged, also bereit, in den nächsten Commit aufgenommen zu werden.
💾 6. Änderungen committen
Speichere deine aktuelle Version im Repository:
git commit -m "Erster Commit: hallo.txt hinzugefügt"
✅ Ergebnis: Du hast den ersten Zustand deines Projekts dauerhaft gespeichert. Git hat jetzt eine Version mit einer Nachricht:
"Erster Commit: hallo.txt hinzugefügt"
Überprüfe erneut:
git status
Es gibt nun keine Änderungen mehr.
🔍 7. Historie ansehen
git log
Das zeigt dir eine Liste mit allen bisherigen Commits, IDs, Zeitstempeln und Nachrichten.
✏️ 8. Datei ändern und erneut committen
Bearbeite deine Datei:
echo "Dies ist meine erste Änderung." >> hallo.txt
Jetzt nochmal prüfen:
git status
Dann wieder hinzufügen und committen:
git commit -am "Text in hallo.txt ergänzt"
Zusatz Info: Wieso nun git commit -am ?
Anstatt git add hallo.txt und git commit -m verwenden wir nun -am welches
automatisch alle Änderungen added und direkt committet.
Neue Dateien werden ignoriert, diese müssen aktiv mit git add hinzugefügt
werden.
-a, --all
Automatically stage files that have been modified and deleted, but new files you have
not told Git about are not affected.
-m <msg>, --message=<msg>
Use <msg> as the commit message. If multiple -m options are given, their values are concatenated as separate paragraphs.
The -m option is mutually exclusive with -c, -C, and -F.
Automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
Jetzt hast du zwei Commits – du kannst jederzeit zwischen ihnen wechseln.
⏮️ 9. Zu einem früheren Stand wechseln
Schau dir die Commit-Historie an:
git log --oneline
Beispielausgabe:
2f3b1c1 (HEAD -> main) Text in hallo.txt ergänzt
a4d9e12 Erster Commit: hallo.txt hinzugefügt
Wenn du den alten Stand sehen willst:
git checkout a4d9e12
Schau in hallo.txt – der Text-Absatz ist verschwunden!
Wechsle zurück zum aktuellen Stand:
git checkout main
Schau in hallo.txt – der Text-Absatz ist wieder da!
🌿 10. Einen neuen Branch erstellen
Erstelle einen neuen Entwicklungszweig:
git branch neues-feature
git switch neues-feature
Alternativen
Alternative 1:
git checkout -b neues-feature
Alternative 2:
git switch -c neues-feature
Erstelle dort eine neue Datei:
echo "# Readme!" > README.md
git add README.md
git commit -m "Neue Datei: README.md hinzugefügt"
🔗 11. Branch in Hauptzweig (main) mergen
Wechsle zurück zum Hauptbranch (main):
git switch main
Alternative
git checkout main
Führe die Änderungen zusammen:
git merge neues-feature
✅ Ergebnis: README.md ist nun auch in deinem Hauptzweig vorhanden.
12. Dateien und Status prüfen
Aktuellen Projektzustand anzeigen:
git status
Gesamte Historie (auch mit Branches):
git log --oneline --graph --all
🧩 13. Bonus: Git-Änderungen rückgängig machen
Wenn du versehentlich eine Datei bearbeitet hast und sie zurücksetzen willst:
git restore hallo.txt
Oder wenn du eine Datei wieder aus der Staging Area entfernen willst:
git restore --staged hallo.txt