Tools

Practical Git Workflows #4: Resolving Conflicts — Structure, mergetool, and rerere
7 min read

Practical Git Workflows #4: Resolving Conflicts — Structure, mergetool, and rerere

Understand conflicts through the base, ours, and theirs structure and handle them with tools. Why ours and theirs look flipped during a rebase, zdiff3 markers, the VS Code merge editor, and rerere so you never solve the same conflict twice.

Microsoft Graph in Practice #1: What Graph Is — One API for All of Microsoft 365
5 min read

Microsoft Graph in Practice #1: What Graph Is — One API for All of Microsoft 365

What Microsoft Graph is and why it's the key tool for workplace automation: the structure that opens mail, calendar, Teams, files, and the org directory through one endpoint, the v1.0/beta split, the big picture of the permission model, and making your first call with zero code in Graph Explorer.

Practical Git Workflows #3: Interactive Rebase — Cleaning Up Commits with squash and fixup
7 min read

Practical Git Workflows #3: Interactive Rebase — Cleaning Up Commits with squash and fixup

Interactive rebase reshapes commits into readable units before you open a PR. We cover the six todo-list commands, the fixup and autosquash workflow, and pushing a rewritten branch safely with force-with-lease.

Practical Git Workflows #2: rebase vs merge — Decision Criteria and the Golden Rule
7 min read

Practical Git Workflows #2: rebase vs merge — Decision Criteria and the Golden Rule

See through diagrams how rebase re-applies commits as brand-new ones, and build criteria for choosing between rebase and merge. Includes the structural reason you must never rebase a shared branch.

Git Basics #6: GitHub and Your First Pull Request
7 min read

Git Basics #6: GitHub and Your First Pull Request

Create a repository on GitHub, connect your local repository, and follow a first Pull Request end to end — from branching through review feedback to merging and cleanup. The final part of the Git Basics series.

Practical Git Workflows #1: Branching Strategies — GitHub Flow and Trunk-Based
7 min read

Practical Git Workflows #1: Branching Strategies — GitHub Flow and Trunk-Based

Compare the structure and prerequisites of Git Flow, GitHub Flow, and trunk-based development, and build criteria for choosing one based on team size and release cadence.

Git Basics #5: Undoing Changes — restore, reset, and revert
7 min read

Git Basics #5: Undoing Changes — restore, reset, and revert

Discarding edits, unstaging files, amending commits, undoing commits, and reverting pushed commits. A three-areas map of when to reach for restore, reset, or revert.

Git Basics #4: Remotes — clone, fetch, pull, push, and What origin Really Is
7 min read

Git Basics #4: Remotes — clone, fetch, pull, push, and What origin Really Is

We organize the flow of cloning a repository and exchanging work with a remote through fetch, pull, and push. Along the way we pin down what origin and origin/main actually are.

Git Basics #3: Branching and Merging — Fast-forward and 3-way
7 min read

Git Basics #3: Branching and Merging — Fast-forward and 3-way

From the fact that a branch is a lightweight pointer to a commit, through the difference between fast-forward and 3-way merges, to reading conflict markers and resolving them.

Git Basics #2: add, commit, status — What the Staging Area Means
8 min read

Git Basics #2: add, commit, status — What the Staging Area Means

Read the untracked, modified, and staged states from real git status output, and record your first snapshot with add and commit. Why the staging area exists, the two kinds of diff, and what .gitignore keeps out of history.

Git Basics #1: What Git Is — the Snapshot Model and the Three Areas
7 min read

Git Basics #1: What Git Is — the Snapshot Model and the Three Areas

From why version control exists to the snapshot model, the .git directory that git init creates, and the three areas — working directory, staging area, and repository. The mental picture to build first when learning Git.