Grundlagen der Programmierung in C
Prof. Dr. Alexandra Mikityuk
HTW Berlin - Wintersemester 2025/26
In dieser Vorlesung lernen Sie:
✅ Was Git ist und warum es jeder Programmierer nutzt
✅ Ihre erste Zeitmaschine für Code erstellen
✅ Mit Branches arbeiten und Änderungen verwalten
✅ Mit GitHub zusammenarbeiten
Max ist Programmierer. Er hat gerade sein Projekt fertiggestellt:
projekt.c ✅
Dann kommt eine neue Anforderung. Max ist vorsichtig:
projekt_neu.c ✅
Nach einer Woche sieht sein Ordner so aus:
projekt.c
projekt_neu.c
projekt_neu_2.c
projekt_final.c
projekt_final_wirklich.c
projekt_final_wirklich_diesmal.c
projekt_DIESER_HIER.c 😭
⚠️ Problem: Welche Version ist die Richtige? Was wurde geändert? Kann man zurückgehen?
Git ist ein Versionskontrollsystem, das:
💡 Fun Fact: Git wurde 2005 von Linus Torvalds entwickelt (ja, der Linux-Erfinder!). Er brauchte ein Tool, um mit Tausenden von Entwicklern weltweit am Linux-Kernel zu arbeiten.
Analogie: Git ist wie Microsoft Word (das Programm). GitHub ist wie OneDrive oder Dropbox (wo Sie Ihre Dokumente online speichern und teilen).
Bevor wir Git nutzen können, müssen wir wissen, wie man das Terminal (oder die Eingabeaufforderung) öffnet:
Windows-Taste + R → cmd eingeben → EnterCmd + Leertaste → "Terminal" eingeben → EnterCtrl + Alt + T💡 Tipp: Das Terminal ist Ihr Werkzeug für Git! Keine Angst - wir lernen alle Befehle Schritt für Schritt.
Download von git-scm.com
Bevor Sie Git nutzen, müssen Sie sich vorstellen:
💡 Warum? Git speichert bei jedem "Snapshot" (Commit), wer die Änderung gemacht hat. Das ist besonders wichtig bei Teamarbeit!
⚠️ Tipp: Verwenden Sie die gleiche E-Mail wie bei GitHub, dann werden Ihre Commits korrekt Ihrem Profil zugeordnet!
Git öffnet manchmal einen Text-Editor für Commit-Messages oder Konfiguration. Sie können Ihren bevorzugten Editor festlegen:
💡 Tipp für Anfänger: Verwenden Sie Notepad (Windows), TextEdit (Mac) oder Nano (Linux) - diese sind am einfachsten zu bedienen!
Ein Repository (kurz: Repo) ist ein Ordner, den Git überwacht.
Git erstellt einen versteckten Ordner .git/, wo alle Versionen gespeichert werden.
🎉 Gratulation! Sie haben gerade Ihre erste Zeitmaschine erstellt!
1. Datei erstellen:
2. Status prüfen:
3. Zur Staging Area hinzufügen:
4. Commit erstellen:
git status ist Ihr bester Freund!
💡 Farben:
• Grün = In Staging Area (bereit für Commit)
• Rot = Geändert, aber nicht in Staging
• Grau/Weiß = Neue, ungetrackte Dateien
Mit git log sehen Sie alle Commits:
Mit --graph sehen Sie die Branch-Struktur visuell:
* = Ein Commit | = Linie zeigt Verlauf |\ = Branch teilt sich (Branch wurde erstellt) |/ = Branches vereinen sich (Merge)
Der Graph zeigt, dass ein Feature-Branch erstellt wurde, parallel zu main entwickelt wurde, und dann wieder zusammengeführt wurde!
Ein Entwickler arbeitete bis spät in die Nacht. Seine Commit-Messages wurden... kreativ:
⚠️ Lektion: Schreiben Sie aussagekräftige Commit-Messages! Ihr zukünftiges Ich (und Ihre Kollegen) werden es Ihnen danken!
Denken Sie: "If applied, this commit will..." (Wenn angewendet, wird dieser Commit...)
✅ "If applied, this commit will Add user login function"
✅ "If applied, this commit will Fix memory leak"
✅ "If applied, this commit will Update documentation"
❌ "If applied, this commit will Added user login function" ← Klingt falsch!
❌ "If applied, this commit will Fixed memory leak" ← Klingt falsch!
Ein Branch ist eine separate Entwicklungslinie.
C3 ← neue-funktion (Branch)
/
C1 ← C2 ← main (Standard-Branch)
Wenn Ihr Feature fertig ist, können Sie es in main einbringen:
Vorher:
C3 ← neue-funktion
/
C1 ← C2 ← main
Nachher (nach Merge):
C1 ← C2 ← C3 ← main, neue-funktion
Ein Merge Conflict entsteht, wenn dieselbe Zeile in beiden Branches unterschiedlich geändert wurde.
Lösung: Sie entscheiden, was bleibt - in 3 Schritten:
⚠️ Wichtig: Bevor Sie zu Git committen, müssen Sie zuerst die Datei lokal bearbeiten!
💡 Workflow: Pull → Änderungen machen → Add → Commit → Push
Montag, 9:00 Uhr - Anna:
Montag, 10:00 Uhr - Bob:
Dienstag - Anna merged zuerst:
Dienstag - Bob holt Updates:
Manche Dateien sollten nicht in Git gespeichert werden:
| Befehl | Beschreibung |
|---|---|
| 📚 Grundlagen | |
git init |
Neues Repository erstellen |
git status |
Status des Repositories anzeigen |
git add <datei> |
Datei zur Staging Area hinzufügen |
git add . |
Alle Änderungen zur Staging Area |
git commit -m "..." |
Commit mit Nachricht erstellen |
git log |
Commit-Historie anzeigen |
| 🌿 Branches | |
git branch |
Alle Branches anzeigen |
git branch <name> |
Neuen Branch erstellen |
git checkout <branch> |
Zu einem Branch wechseln |
git checkout -b <name> |
Branch erstellen und direkt wechseln |
git merge <branch> |
Branch zusammenführen |
| ☁️ Remote (GitHub) | |
git clone <url> |
Repository von GitHub klonen |
git pull |
Updates von Remote holen |
git push |
Commits zu Remote hochladen |
| 🔧 Nützliches | |
git diff |
Änderungen anzeigen |
git log --oneline --graph |
Schöne Historie mit Branches |
git-uebunggit initrechner.c mit einer einfachen Additiongit add rechner.c → git commitfeature-multiplikationmain und mergen Siegit log --oneline --graph🎯 Bonus: Erstellen Sie ein GitHub-Repository und pushen Sie Ihr Projekt!
Mit git diff können Sie sehen, was sich geändert hat:
💡 Tipp: Verwenden Sie git diff vor jedem Commit, um zu prüfen, was Sie committen!
Sie machen viele Änderungen, aber vergessen git commit.
Machen Sie kleine, häufige Commits!
Nutzen Sie Branches für neue Features! main sollte immer funktionieren.
"update" oder "fix" sagt nichts aus. Beschreiben Sie, WAS Sie geändert haben!
Passwörter, API-Keys etc. gehören NICHT in Git! Nutzen Sie .gitignore!
Immer erst git pull, dann arbeiten, dann push!
Lieber viele kleine Commits als ein riesiger. Jeder Commit = ein logischer Schritt.
Nicht "test" oder "neu", sondern "feature-login" oder "bugfix-memory-leak"
Damit ist Ihre Arbeit gesichert, falls Ihr Laptop kaputt geht!
Dokumentieren Sie, was Ihr Projekt macht. Ihr zukünftiges Ich dankt!
Erste Datei in jedem Projekt sollte .gitignore sein!
Üben, üben, üben! Erstellen Sie ein GitHub-Profil und starten Sie Ihr erstes Projekt. Git wird durch Verwendung zur Gewohnheit!
Prof. Dr. Alexandra Mikityuk
📧 HTW Berlin
🏢 Raum 308
📞 +49 30 5019-2664
1. Installieren Sie Git
2. Erstellen Sie ein GitHub-Konto
3. Machen Sie die Übung von Slide 23
4. Pushen Sie Ihr erstes Projekt zu GitHub!