Search
Search articles
Find articles by title, tag, or anything in the text. Every word you type has to match.
Experience Fragment Architecture — Reusable Experiences Across Channels
Understand how Experience Fragments help AEM teams create reusable, presentation-driven experiences, how they are structured, and where they fit in a real AEM architecture.
Content Fragment vs Experience Fragment vs Page
Content Architecture Decision Guide
Git Internals: Objects, the .git Directory, and What a Commit Really Is
A commit is not a diff, a branch is not a folder, and .git is not a black box — it's a content-addressed key-value store with four object types. Once that clicks, git gc, shallow clones, and "detached HEAD" all stop being magic.
Remotes, Fetch vs. Pull, and the Fork-and-PR Workflow
Fetch and pull look interchangeable until the day pull silently creates a merge commit you weren't expecting. Understanding what a remote-tracking branch actually is explains the difference, and sets up how forking, upstream, and pull requests fit together.
Reflog, Bisect, and Blame: Recovering Lost Work and Finding Bugs
A "lost" commit after a bad reset or force-push is almost never actually gone. git reflog keeps a local record of everywhere HEAD has pointed, bisect turns "somewhere in these 200 commits" into a 10-second binary search, and blame turns "who wrote this" into an actual answer.
Undoing Changes: restore, reset, revert, and stash
Git has four different ways to undo something, and they are not interchangeable. Using the wrong one is how "undo my last commit" turns into "where did my work go" — understanding what each command actually moves (working directory, staging area, or history) fixes that.
Interactive Rebase, Squashing, and Rewriting History Safely
A pull request with fourteen commits named "wip", "fix", and "actually fix" tells a reviewer nothing about what changed or why. Interactive rebase turns that into a small number of meaningful commits — as long as you know the one rule about which commits are safe to rewrite.
Branching and Merging: Fast-Forwards, Three-Way Merges, and Real Conflicts
Two branches merge instantly nine times out of ten, then one day Git stops and asks you to resolve a conflict by hand. Understanding what a branch actually is — a movable pointer, not a copy of the project — explains both cases from the same underlying mechanism.
Git Fundamentals: Staging, Commits, and the Repository Model
A folder named final_v2_ACTUAL_fixed_USE_THIS is what version control looks like when nobody's using version control. Understanding what init, add, and commit actually do — and why a staging area exists at all — is the difference between typing commands and using the tool.
Managing Multiple GitHub Accounts on One Machine
SSH authenticates which account accesses a repository; Git config determines who authored the commit. Conflating the two is how you end up pushing personal code to a work org or committing under the wrong profile — fixing it is a one-time SSH config setup.