# Git
## Everyday
| Note | Description |
|------|-------------|
| [[Interactive Rebase]] | Rewriting history with `git rebase -i` |
| [[Branch Cleanup]] | Delete merged branches, prune stale refs |
| [[Autostash]] | Automatic stash/pop during rebase |
| [[Autosquash]] | Non-interactive autosquash rebase with `fixup!` commits |
| [[Git Worktrees]] | Multiple working trees — parallel branches without stashing |
| [[Oh-My-Zsh Git Aliases]] | Common aliases from the git plugin |
## Configuration
| Note | Description |
|------|-------------|
| [[Gitignore]] | Multiple files, precedence, negation |
| [[Line Endings]] | CRLF vs LF, `.gitattributes` setup |
| [[Pre-commit]] | Lefthook, pre-commit.com, hook behavior types |
## Reference
| Note | Description |
|------|-------------|
| [[Git - Miscellaneous]] | `checkout -`, cherry-pick workflow, branch removal, file permissions, SSH keys, `HEAD~` vs `HEAD^` |
| [[Git LFS]] | Removing LFS, file locking, smudge/clean filters, space management |
| [[Git Cherry]] | Find commits not yet applied to upstream |
| [[Reuse Commit Message]] | Recover a commit message after `git reset` |
| [[Undo Rebase]] | `ORIG_HEAD`, reflog, `rebase --abort`, `--onto` |
| [[Sparse Checkout]] | Partial clone — check out only a subdirectory |