Ancillary, foreign-SCM bridges, and pure helpers. Where porcelain stops being the whole story.
Welcome to Tier 2 — intermediate. The "I've been using Git for a year and I want to actually understand it" tier.
This tier is wider than it is deep. It covers the ancillary commands — the manipulators (config, reflog, repack, remote, replace), the interrogators (blame, fsck, count-objects, merge-tree), the foreign-SCM bridges (svn, p4, cvs — yes, still relevant in 2026 if you're rescuing legacy code), and the pure helpers (check-attr, check-ignore, credential, hook).
A lot of these commands you'll use rarely. That's fine. The point of knowing them isn't to use them daily — it's so you recognize the right tool when the situation calls for it. When your repo's blowing up to 12 GB, you should know that count-objects -v and repack -ad exist before you start googling. When git filter-branch lights up in a Stack Overflow answer, you should know it's been deprecated for years and git filter-repo is the right answer.
Some modules in this tier are deliberately short. git mailinfo doesn't need a page-long explanation; it parses an email and you'll never call it directly. The 12-section template still applies, but a section may collapse to one sentence. That's by design. The full layout means you always know where to look.
git configgit fast-exportgit fast-importgit filter-branchgit mergetoolgit pack-refsgit prunegit refloggit refsgit remotegit repackgit replacegit annotategit blamegit bugreportgit count-objectsgit diagnosegit difftoolgit fsckgit helpgit instawebgit merge-treegit rereregit show-branchgit verify-commitgit verify-taggit versiongit whatchangedgitwebgit archimportgit cvsexportcommitgit cvsimportgit cvsservergit imap-sendgit p4git quiltimportgit request-pullgit send-emailgit svngit check-attrgit check-ignoregit check-mailmapgit check-ref-formatgit columngit credentialgit credential-cachegit credential-storegit fmt-merge-msggit hookgit interpret-trailersgit mailinfogit mailsplitgit merge-one-filegit patch-idgit sh-i18ngit sh-setupgit stripspace