Git Worktree: Mehrere Branches gleichzeitig bearbeiten

Sie sind drei Dateien tief in einem Feature-Branch, noch nichts committet, als ein Kollege wegen eines Null-Pointer-Crashs in Produktion anklopft. Der übliche Weg: git stash, zu main wechseln, den Fehler fixen, pushen, dann git stash pop – und hoffen, dass nichts in Ihrer halbfertigen Feature-Arbeit von den Dateien abhing, von denen Sie gerade weggewechselt sind. git worktree macht dieses Hin-und-Her überflüssig: Es checkt den Hotfix-Branch in einen zweiten Ordner aus, neben Ihrem Feature-Branch, beide auf Basis desselben Repositorys. ...

24. Oktober 2026 · 5 Minuten · 995 Wörter · SpaghettiCoder

Was ist Spaghetti-Code und wie man ihn refactort

Sie öffnen eine Funktion, um einen Ein-Zeilen-Bug zu beheben, und vierzig Minuten später verfolgen Sie immer noch, welcher Zweig welche Variable setzt. Drei voneinander unabhängige Aufgaben sind in einem einzigen Block zusammengeschweißt, und keine von ihnen hat einen Namen. Sie ziehen an einem Faden und können nicht sagen, welche anderen sich mitbewegen. Das ist Spaghetti-Code, und der Name hat nichts mit Einrückung oder Namensstil zu tun. Er beschreibt den Kontrollfluss: Die Ausführung springt zwischen Bedingungen hin und her, so wie ein Nudelstrang jeden anderen in der Schüssel kreuzt, und einem einzigen Pfad bis zum Ende zu folgen bedeutet, vier Ebenen von if gleichzeitig im Kopf zu behalten. ...

25. September 2026 · 10 Minuten · 2019 Wörter · SpaghettiCoder

Git Bisect: den Commit finden, der einen Bug eingeführt hat

Die Test-Suite ist seit drei Wochen grün. Heute schlägt npm test bei einer Assertion fehl, die nichts mit Ihrer letzten Änderung zu tun hat, und git log v1.4.0..HEAD zeigt 340 Commits von vier Personen seit dem letzten Release, von dem jemand sicher war, dass er funktioniert. Jeden Diff zu lesen kostet Sie einen ganzen Tag. Wahllos Commits auszuchecken geht schneller, ist aber immer noch kein Plan. git bisect macht daraus eine Binärsuche. Sie nennen ihm einen Commit, der nachweislich gut ist, und einen, der nachweislich kaputt ist; das Tool checkt den Commit in der Mitte dazwischen aus und wartet, bis Sie genau diesen Commit testen und das Ergebnis melden. Jede Antwort halbiert den Bereich. 340 Commits lassen sich in höchstens 9 Tests auflösen, denn 2^9 = 512. ...

22. September 2026 · 6 Minuten · 1169 Wörter · SpaghettiCoder

Git Rebase vs Merge: Unterschiede und wann welches

Sie holen sich das neueste main per Pull, und Git bricht ab mit CONFLICT (content): Merge conflict in checkout.js. Sie lösen den Konflikt, und im Log steht jetzt ein Commit namens Merge branch 'main' into feature/checkout, oben auf den drei Commits, die Sie tatsächlich geschrieben haben. Vier Commits, eine einzige echte Änderung. Ein Kollege, der diese Historie nächsten Monat liest, kann nicht erkennen, welcher welcher ist. git merge und git rebase beantworten dieselbe Frage: Wie bringe ich meinen Branch auf den Stand der Änderungen, die anderswo gemacht wurden. Sie hinterlassen sehr unterschiedliche Spuren, und die falsche Wahl auf einem geteilten Branch richtet echten Schaden an. ...

13. September 2026 · 8 Minuten · 1597 Wörter · SpaghettiCoder

Was ist Docker und wofür wird es verwendet

Was Docker wirklich macht Docker ist eine Open-Source-Plattform, die eine Anwendung mit allem, was sie zum Laufen braucht – Code, Bibliotheken, Runtime, Konfiguration – in einen Container verpackt, der sich auf jeder Maschine gleich verhält. Ein Umzug macht den Kompromiss greifbar. Sie haben zwei Möglichkeiten: Alle Gegenstände lose transportieren und hoffen, dass sie unversehrt ankommen Alles in organisierte, beschriftete und leicht zu bewegende Kartons packen Docker macht genau das mit Softwareanwendungen: Es verpackt sie in Container, die alles Notwendige zum Laufen enthalten. ...

31. Januar 2026 · 4 Minuten · 832 Wörter · SpaghettiCoder