--- author: Marc Beninca title: Git CPP subtitle: Concepts, Porcelain & Plumbing date: 2024 / 03 --- # Git ## Concepts * hash * sha1 (sha256) ## Porcelain * git init * bare | non-bare * git config * system → global → local * user name & email * description * git status * git branch --force * git add * git commit * git checkout | switch * git worktree * git merge * fast-forward * three-way * git rebase * as-is * merge-squash * cherry-pick * interactive * git reflog * git remote | clone * git fetch | pull * git push * git tag ## Plumbing * .git/config * .git/description * .git/refs * heads/branch * remotes/remote/branch * tags/tag * .git/objects * .git/objects * git cat-file -t|-p hash * git update-ref refs/heads/dev hash * git symbolic-ref HEAD refs/heads/main * git hash-object -w file * git update-index * git write-tree * git commit-tree