Git: Anleitungen und Praxiswissen | Seite 8 | mironsoft Blog
Git
-
24.05.2025
Tags markieren Releasepunkte in der Git Historie, aber erst eine konsequente Strategie aus annotierten Tags, klarer Semantic Versioning Konvention und automatisierter Ableitung macht sie für CI Pipelines und Deployment Prozesse wirklich zuverlässig nutzbar.
-
21.05.2025
Ein gewachsenes .git-Verzeichnis, das mehrere Gigabyte umfasst, ist selten ein Zufall, sondern die Summe jedes Commits, jedes Rebase und jeder versehentlich eingecheckten Binärdatei, die Git niemals von selbst löscht. Dieser Artikel erklärt, wie lose Objekte zu delta-komprimierten Packfiles werden, was git gc technisch wirklich tut, welche Rolle der Reflog beim Schutz vor Datenverlust spielt, und wie man ein aufgeblähtes Repository gezielt diagnostiziert und wieder verschlankt.
-
16.05.2025
Jede CI-Pipeline beginnt in der Regel mit einem Checkout, und bei Repositories mit jahrelanger Historie kann allein dieser Schritt spürbar Zeit kosten. Shallow Clones begrenzen die übertragene Historie auf eine konfigurierbare Tiefe und reduzieren dadurch Checkout-Zeit und Netzwerkvolumen oft drastisch, bringen aber auch handfeste Einschränkungen mit, die je nach Pipeline-Job zum Problem werden können. Dieser Artikel zeigt, wie Shallow Clones funktionieren, wo sie sich lohnen und wo sie in Magento-Deployment-Pipelines eher schaden als nützen.
-
13.05.2025
Wer git log nur mit der Standardausgabe nutzt, verschenkt eines der mächtigsten Diagnosewerkzeuge im täglichen Entwicklungsalltag. Mit gezielten Filtern nach Autor, Zeitraum und Inhalt, mit eigenen Pretty Formaten für Skripte und mit der Pickaxe Suche lässt sich jede Codezeile bis zu ihrem Ursprung zurückverfolgen, ohne die Historie manuell zu durchsuchen.
-
21.04.2025
"Staging Area" ist nur ein Spitzname. Dahinter steckt eine reale, binäre Datei mit dokumentiertem Format, eigener Prüfsumme und Stage-Nummern pro Eintrag. Dieser Artikel geht direkt in die Internals: Dateiformat, was git add technisch schreibt, wie git status und git diff den Index als Angelpunkt nutzen, wie man ihn mit git ls-files und git update-index direkt inspiziert und manipuliert, und warum git add -p überhaupt nur funktioniert, weil der Index vom Working Directory entkoppelt ist.
-
20.04.2025
Die Standardansicht eines Pull Requests zeigt fast immer nur den kumulierten Diff zwischen Ziel-Branch und letztem Commit. Damit geht verloren, wie eine Änderung tatsächlich entstanden ist: ob sie in einem sauberen, atomaren Commit entstand oder erst über mehrere Korrekturrunden zur finalen Form fand. Dieser Artikel zeigt, wie sich mit git log, git show, git range-diff und gezieltem interaktivem Rebase eine Commit-Historie vor dem Merge tatsächlich prüfen lässt, statt sich allein auf das Endergebnis zu verlassen.
-
01.04.2025
Git-Konflikte sind kein Grund zur Panik, wenn man den Drei-Wege-Merge-Dialog von PhpStorm einmal wirklich verstanden hat. Base, Local und Remote nebeneinander machen aus einem unuebersichtlichen Diff eine kontrollierbare Entscheidung, Zeile fuer Zeile.
-
30.03.2025
Ein Commit ohne Ref ist für Git praktisch unsichtbar. Branches, Tags und HEAD sind allesamt nur benannte Zeiger, die aus einer losen Ansammlung von Objekten einen navigierbaren Verlauf machen. Dieser Artikel zeigt, wie .git/refs/heads, .git/refs/tags und packed-refs auf der Festplatte aufgebaut sind, wie HEAD in zwei Schritten zu einem Commit aufgelöst wird, und wie man Refs mit git show-ref, git symbolic-ref und git update-ref direkt inspiziert und manipuliert.
-
29.03.2025
Jeder kann git config user.name und user.email auf einen beliebigen Namen setzen und Commits im Namen eines Kollegen erstellen, ohne dass Git das verhindert. Dieser Artikel zeigt, wie GPG- und SSH-basierte Commit-Signaturen kryptographisch beweisen, wer einen Commit tatsächlich erstellt hat, wie man Schlüssel einrichtet, Signaturen verifiziert und signierte Commits über Branch-Protection-Regeln im Team erzwingt.
-
25.03.2025
Ein Repository, das über Jahre gewachsen ist, enthält meist etliche große Binärdateien, die von Anfang an besser in Git LFS gelegen hätten. Mit git lfs migrate import lässt sich das nachträglich korrigieren, allerdings nur, wenn Historie-Umschreibung, Team-Koordination und Force-Push sauber geplant werden.