gitbasics
A program that runs on your Mac. It tracks file history inside a project folder and stores snapshots. Doesn't need internet.
Microsoft Word — the editor itself, on your machine.
GitHubbasics
A company (Microsoft-owned) that hosts a copy of your git project on their server and wraps a website around it. Adds sharing, browser viewing, collaboration features.
OneDrive — the cloud + web UI layered on top of Word.
repository (repo)basics
A project folder that git is tracking. It exists in two places: on your Mac, and on GitHub's server. Both are called "the repo" — they're two copies kept in sync.
commitbasics
A snapshot of every file in the repo at one moment, with a message attached. Each commit has a unique fingerprint called a SHA (7-char prefix in human view, like ab39fcd).
A bookmark in time. You can return to exactly that state.
branchbasics
A name that points to one specific commit. You can have many. Adding new commits moves the branch label forward to the newest one.
main (default branch)basics
The branch that represents "the official version" of the project. Every new GitHub repo has one called main by default.
git pushbasics
Upload your local commits to GitHub's server. This is when server-side rules (like branch protection) run.
git pullbasics
Download commits from GitHub to your local copy. Use before push when someone else might have updated the repo since your last sync.
pull request (PR)basics
A request to merge commits from one branch into another, plus a comment thread for review. The standard way to propose changes on GitHub.
"Here's what I want to add. Look it over, then either merge it or tell me what to change."
branch protectionenforcement
Server-side rules on a branch (usually main) that GitHub enforces at the moment of push or merge. Things like "must have a review" or "no force-pushes."
A doorman at an apartment building. Checks credentials before letting anything through.
Rulesetsenforcement
A newer name for the same idea as branch protection, with cleaner JSON. Same paywall gates apply.
CODEOWNERSenforcement
A text file you commit to the repo that says "if these files change, these GitHub users must review." Works as documentation without branch protection; works as enforcement with it.
A sign that says "frontend → Josh, backend → you." With protection: it's a barrier. Without: it's a sign.
required_approving_review_countenforcement
A branch protection rule that requires N humans to click Approve before a PR can merge. Your AL repo would use 0 while solo (you can't approve your own work) and flip to 1 when Josh joins.
linear historyenforcement
No "Merge branch X into main" auto-commits — every change in main sits on a single straight line. Easier to read, easier to revert.
force-pushdestructive
A git operation (git push --force) that rewrites the history of a branch on the server, discarding whatever was there. The most dangerous thing in git.
Painting over a chapter of a novel. The old text is gone unless you have a backup.
--no-verifydestructive
A flag on git commit that skips local pre-commit hooks. Useful for emergencies; abusable if you bypass it routinely. The weakness of local-only enforcement.
pre-commit hooklocal discipline
A script that runs on your Mac, automatically, every time you try to commit. If it exits with an error, the commit is blocked.
Huskylocal discipline
A popular tool for managing pre-commit hooks in Node-ish projects. AL-2.2 installs Husky so every clone of the repo gets the same hooks.
Gitleakslocal discipline
A secret-scanning tool. Hunts for things that look like API keys, tokens, or passwords in your commits, and refuses to let them land. AL-2.2 adds Gitleaks to your pre-commit chain.
.private/local discipline
A folder convention in your AL monorepo. Files inside any .private/ folder are excluded from git tracking. AL-2.2's walker enforces that nothing in .private/ ever gets staged.