Git: Guides and Practical Know-how | Page 17 | mironsoft Blog
Git
-
Feb 1, 2025
Merge conflicts are part of everyday life for every Git team and scare off many developers unnecessarily. This article explains how to read conflict markers, when a graphical merge tool like VS Code, Meld or PhpStorm pays off, how git rerere resolves recurring conflicts automatically, and which strategies help teams reduce the number of conflicts in feature branches from the start.
-
Jan 28, 2025
Submitting a feature branch with a chaotic commit history for review costs the team time and burns trust. This guide walks step by step through using git rebase -i to reorder, combine, rename, or remove commits, resolve conflicts safely, and undo a botched rebase at any point using reflog.
-
Jan 25, 2025
A secret that has ever been committed stays reachable in git history even after the file gets deleted. This article explains why that is, how pre-commit hooks and CI scanners stop leaks before they happen, and which order matters after a real incident: rotate the credential first, then clean up the history.
-
Jan 25, 2025
Resolving merge conflicts in the terminal means manually searching for conflict markers in the file, understanding them, and making a decision, without any visual context. The 3-way merge tool in PhpStorm shows your own version, the incoming version, and the common ancestor at the same time, which makes the decision far easier and reduces mistakes during conflict resolution.
-
Jan 25, 2025
Branches, commits, diffs and merges look like independent concepts, but technically they are all just pointers into the same object graph. This article deliberately drops below the add, commit and branch abstraction and uses git cat-file and git hash-object to show directly against the object store how blobs, trees and commits are built, how they reference each other, and why Git addresses its objects by SHA-1 or SHA-256 instead of by filename.
-
Jan 24, 2025
A poorly maintained .gitignore causes generated files, credentials, and IDE configuration to accidentally end up in the repository, or forces teammates to constantly discard local changes. This article explains global and project-specific rules, exact pattern syntax, the risk of already-tracked files, and a practical baseline for PHP and Magento projects.
-
Jan 16, 2025
The GitLab Runner is the engine of every pipeline: it executes the jobs defined in .gitlab-ci.yml. Which runner type fits Magento builds and deployments depends on isolation, performance, security requirements, and available infrastructure.
-
Jan 11, 2025
Inconsistent branch names look harmless until a deployment pipeline targets the wrong environment or an automated cleanup script deletes a branch that's still active. Clear prefixes such as feature, bugfix, and hotfix, combined with ticket IDs from Jira or GitHub Issues, create traceability, enable reliable CI automation, and can be enforced across the whole team with one simple naming check hook.
-
Jan 11, 2025
A tangled Git history with hundreds of WIP commits makes bisect useless, reviews tedious, and blame unreliable. Clear conventions such as atomic commits, rebasing before merge, and disciplined commit messages turn the log into a dependable tool for debugging and traceability, without slowing the team down.
-
Jan 10, 2025
This guide covers the complete path: setting up a GitLab Runner, building the pipeline step by step, creating the release structure on the server, implementing atomic symlink switching, configuring verify jobs and reliably rolling back in seconds. Zero downtime is the result of these concrete decisions.