Git: Guides and Practical Know-how | Page 12 | mironsoft Blog
Git
-
Jun 18, 2025
Checking out a commit, tag, or remote reference directly puts you in detached HEAD state, and commits created there can quietly disappear the moment you switch back to a branch. This article explains how HEAD really works in Git, why commits can look lost even though they rarely are, and how git branch, git switch, and git reflog rescue every situation safely.
-
Jun 17, 2025
Shipping releases straight from main or develop risks unstable versions and blocked feature work. Structured release branches separate stabilization from new development, semantic versioning makes changes traceable, signed tags create trustworthy shipping points, cherry-pick backporting safely brings bugfixes into older supported versions, and CI/CD pipelines react automatically and predictably to branches and tags.
-
Jun 6, 2025
Teams that never cleanly separate branches from deployment environments eventually push untested code straight to production by accident. This article shows how Magento teams can map branches unambiguously to dev, staging, and prod, promote code through environments via merge and tag instead of rebase, keep configuration out of the shared history, and lock down branches and pipelines per environment.
-
Jun 5, 2025
As soon as a project needs to pull in code from another repository, two built in Git mechanisms come into play: submodules and subtree. Both solve the same underlying problem of making external history referenceable inside your own repository, but with very different consequences for checkout, CI pipelines, and who maintains which code where. This article compares both approaches through concrete workflows and explains when each one makes sense in a Magento context.
-
May 24, 2025
Git is generally considered robust because every object is identified by a hash of its content, but an object database built on SHA hashes is not immune to failing disks, killed processes, or accidentally deleted files. The built in git fsck command scans exactly that object database for inconsistencies and surfaces problems before they turn into real, irreversible data loss. This article explains what fsck actually checks, how to read its most common error messages, and which steps repair a damaged repository.
-
May 22, 2025
A monorepo with several million files and years of history pushes Git commands that respond instantly in a small repository to a noticeable crawl. This article shows which specific features bring clone time, checkout size, and status response time back under control even at extreme repository scale.
-
May 15, 2025
A freshly installed PHPStorm without a checklist costs hours: wrong interpreter, too much indexed vendor bulk, no Xdebug, no run configurations. This checklist covers all the critical settings, in the order that matters most for Docker Magento projects.
-
May 15, 2025
The CODEOWNERS file automatically assigns pull and merge requests to the right reviewers, based on which file paths changed. This article explains the syntax and path matching rules, shows how to combine CODEOWNERS with branch protection on GitHub and GitLab, provides practical examples for Magento 2 and Hyva projects, and describes how a team keeps the file current over time.
-
May 8, 2025
The build stage is the foundation of the entire deployment process. Anyone who relies on server dependencies here, carries an undefined Node cache along, or runs DI Compile on the production machine creates risks that later surface as deployment problems. A clean build stage produces a complete artifact that does not depend on the server.
-
May 5, 2025
Since Git 2.34, an already existing SSH key can be used directly to sign commits, with no separate GPG installation and no dedicated key management of its own. Anyone already using SSH for push and pull gets to verified commits with considerably less overhead this way.