Git & GitHub für Einsteiger: So speicherst du deinen Code sicher
Warum versionierung.zip keine Lösung ist. Ein praxistauglicher Guide, wie moderne Entwickler ihre Arbeit mit Git strukturieren und auf GitHub sichern.
Jeder Entwickler kennt diesen Ordner. Den Ordner, der projekt_v1 heißt. Dann projekt_v2_final. Eine Woche später projekt_v2_final_wirklich. Wer so arbeitet, riskiert nicht nur den Verlust seiner Daten durch einen Festplattencrash, sondern verliert vor allem völlig den Überblick darüber, welche Datei wann und warum geändert wurde.
Hier kommt Git ins Spiel. Git ist ein Versionskontrollsystem. Es ist so allgegenwärtig in der Industrie, dass du ohne Grundkenntnisse in Git heute keinen Job als Entwickler bekommst. Es ist die Zeitmaschine für deinen Code.
Der große Irrtum: Git ist nicht GitHub
Bevor wir in die Praxis einsteigen, müssen wir den häufigsten Anfängerfehler klären.
- Git ist ein lokales Tool auf deiner Festplatte. Es ist das "Gedächtnis" deines Codes. Es dokumentiert jede Zeile, die gelöscht, hinzugefügt oder verschoben wurde. Es funktioniert offline im tiefsten Wald.
- GitHub ist eine Website. Ein Hosting-Dienst, der von Microsoft betrieben wird. Es ist das Cloud-Backup für dein lokales Git-Gedächtnis. (Alternativen zu GitHub sind GitLab oder Bitbucket).
Du kannst Git völlig ohne GitHub nutzen. Aber die Kombination aus beidem macht die moderne Softwareentwicklung erst möglich.
Das Setup: Git installieren und konfigurieren
Wenn du einen Mac hast, ist Git oft bereits installiert. Unter Windows musst du dir "Git for Windows" herunterladen. Doch die Installation ist nur der halbe Weg. Du musst Git sagen, wer du bist. Jede Änderung (Commit) bekommt einen digitalen Fingerabdruck.
git config --global user.name "Dein Name"
git config --global user.email "deine.email@beispiel.de"
Der Security-Check: .gitignore
Bevor du deinen ersten Commit machst, musst du über Sicherheit sprechen. Es gibt Dateien, die niemals auf GitHub landen dürfen:
node_modules/(Tausende Dateien, die man jederzeit neu laden kann)..env(Hier stehen deine geheimen API-Keys und Datenbank-Passwörter).
Erstelle in deinem Projektordner eine Datei namens .gitignore und schreibe diese Namen hinein. Git wird sie fortan ignorieren. Das ist deine wichtigste Versicherung gegen gehackte Accounts.
Die Heilige Dreifaltigkeit: Add, Commit, Push
Git basiert auf einem Workflow aus drei Zonen. Stell dir vor, du bist ein Regisseur.
- Working Directory (Das Set): Hier schreibst du Code. Dateien sind "dirty", also verändert, aber noch nicht gesichert.
- Staging Area (
git add): Du entscheidest, welche Schauspieler (Dateien) im nächsten Bild zu sehen sein sollen. Du stellst sie auf die Bühne. - Local Repository (
git commit): Du drückst auf Aufnahme. Git macht einen dauerhaften Schnappschuss. - Remote Repository (
git push): Du schickst den fertigen Film ins Studio (GitHub).
git add .
git commit -m "Feature: Login-Formular hinzugefügt"
git push origin main
"Mist gebaut!" – Die Zeitmaschine nutzen
Das Beste an Git ist, dass du Fehler rückgängig machen kannst.
- Veränderungen verwerfen: Du hast dich total verzettelt und willst die Datei auf den Stand des letzten Commits zurücksetzen?
git checkout -- dateiname.js - Den letzten Commit korrigieren: Du hast den Commit gemacht, aber einen Typo in der Nachricht oder eine Datei vergessen?
git commit --amend - Harter Reset: Du willst alles löschen, was du seit dem letzten Commit gemacht hast?
git reset --hard HEAD(Vorsicht: Das löscht deine ungesicherten Änderungen unwiederbringlich!)
Branches und Pull Requests: Teamwork wie die Profis
Stell dir vor, du arbeitest mit drei anderen Leuten an einer App. Wenn alle gleichzeitig in derselben Datei (main branch) herumpfuschen, gibt es Chaos.
Der Branch-Workflow
Du erstellst einen "Zweig" (Branch) für dein Feature:
git checkout -b feature-darkmode
Du arbeitest isoliert. Wenn du fertig bist, "pusht" du deinen Branch zu GitHub. Jetzt kommt der wichtigste Teil der modernen Entwicklung: Der Pull Request (PR).
Auf GitHub öffnest du einen PR. Du sagst: "Hey Team, ich möchte meinen darkmode Zweig in den main Zweig einfließen lassen. Bitte schaut euch meinen Code an." Erst wenn ein Kollege den Code geprüft und freigegeben hat (Code Review), wird er "gemerget".
Forking vs. Cloning: Wo ist der Unterschied?
- Clone: Du lädst ein Repository herunter, zu dem du bereits Schreibrechte hast (dein eigenes oder das deiner Firma).
- Fork: Du siehst ein cooles Open-Source-Projekt auf GitHub. Du hast keine Rechte, dort Code zu ändern. Also machst du einen "Fork" – eine Kopie des gesamten Projekts in deinen Account. Dort kannst du alles ändern und später einen Pull Request an den Original-Besitzer schicken. So funktioniert fast die gesamte Open-Source-Welt.
Ausblick: GitHub Actions (CI/CD)
GitHub ist heute mehr als nur ein Speicherort. Mit GitHub Actions kannst du Automatisierungen bauen.
Stell dir vor, jedes Mal, wenn du Code pushst, lässt GitHub automatisch deine Tests laufen. Wenn ein Test fehlschlägt, verhindert GitHub, dass der Code in den main Zweig kommt. Das nennt man Continuous Integration (CI). Wenn der Code dann auch noch automatisch auf deinen Server (z.B. Vercel) geladen wird, spricht man von Continuous Deployment (CD).
Fazit: Git ist kein Hindernis, sondern eine Befreiung
Anfangs fühlt sich Git wie eine zusätzliche Bürde an. "Ich will doch nur programmieren, warum muss ich diese Befehle lernen?"
Doch nach dem ersten Mal, wenn du versehentlich einen ganzen Ordner gelöscht hast und ihn mit git checkout in einer Sekunde wiederherstellst, wirst du es lieben. Git gibt dir die Freiheit zu experimentieren, ohne Angst zu haben, etwas kaputt zu machen.
Mein Tipp für den Start: Nutze die visuelle Integration in VS Code, aber behalte das Terminal für die "Notfälle" im Hinterkopf. Erstelle dein erstes Repository, push deinen Code von deinem Next.js Portfolio hoch und feiere deinen ersten grünen Punkt in deiner GitHub-Contribution-History!
Verwandte Artikel
FAQ zu diesem Artikel
d6benjamin
Willkommen auf d6b