Git: Guides and Practical Know-how | mironsoft Blog
Git
-
May 6, 2026
A bloated .git directory spanning several gigabytes is rarely an accident. It is the sum of every commit, every rebase, and every accidentally committed binary that Git never deletes on its own. This article explains how loose objects turn into delta-compressed packfiles, what git gc actually does under the hood, what role the reflog plays in preventing data loss, and how to diagnose and shrink a bloated repository.
-
May 5, 2026
Anyone who builds the same thing on production as on staging is not actually testing what they tested on staging. Promoting a validated artifact, instead of rebuilding it, is the foundation of reproducible deployments. GitLab environments, manual approvals and correct variable scopes make this process team ready and auditable.
-
May 3, 2026
Not every Git project runs through a central forge with a pull request interface. git format-patch turns a series of commits into sendable patch files that recipients can reassemble into full commits with git am, with no GitHub, GitLab or other web interface involved at all. This article shows how to generate patch series, attach a cover letter, version them, and send them via git send-email, and when this workflow genuinely beats pull requests.
-
Apr 25, 2026
Docker in GitLab CI is powerful, but the configuration is full of pitfalls: the wrong runner type, insecure Docker-in-Docker, build caches that never hit, and artifacts that transfer unnecessary megabytes. Once you understand the mechanisms, you build pipelines that finish in three minutes instead of thirty.
-
Apr 22, 2026
Magento Maintenance Mode blocks real users. Teams that flip it on for every deployment are paying for uptime with unnecessary process overhead. This article shows when it's actually required, how to integrate it correctly into GitLab CI, and how a clean release structure reduces it to a bare minimum.
-
Apr 19, 2026
An error after a deployment is not a sign of bad work, it is a signal. Anyone who works systematically finds the root cause in minutes instead of hours. Anyone who improvises searches longer, makes more incidental changes, and risks overwriting the original state before the cause is even clear.
-
Apr 17, 2026
Anyone who only uses git log with its default output is giving up one of the most powerful diagnostic tools in daily development work. With targeted filters by author, date and content, with custom pretty formats for scripts, and with pickaxe search, any line of code can be traced back to its origin without manually scanning the history.
-
Apr 16, 2026
Anyone working on a custom module repository who constantly needs to reference the Magento core can run both as a multi-root project in one PhpStorm window. Each root keeps its own VCS history, while navigation and search work across the whole project. This article covers the setup, its limits, and when two separate windows remain the better choice after all.
-
Apr 14, 2026
Anyone needing to check multiple feature branches at the same time quickly hits the limits of a single Docker Compose stack: port conflicts, shared databases and naming collisions between containers and networks. COMPOSE_PROJECT_NAME combined with profiles solves exactly this problem by letting every environment run side by side, cleanly isolated.
-
Apr 13, 2026
A properly configured .gitattributes file solves problems many PHP teams consider unavoidable: CRLF noise between Windows and Linux, bloated deployment archives, skewed GitHub language stats caused by vendored code, and unreadable pull request diffs for generated or minified files. This article walks through every relevant directive with real examples for PHP and Magento projects, covering line endings, export-ignore, linguist attributes, and diff drivers for everyday development.