kb/tools
Git tools around the core: GitHub CLI (`gh`) lets you run the PR flow from the terminal, GUI clients such as GitHub Desktop, Sourcetree, and GitKraken give you a visual history, pre-commit and husky run local hooks before each commit, and Git LFS stores large binary files outside the main history.
Binary search for the commit that introduced a regression. You mark a known-good commit and a known-bad one, and Git finds the exact SHA in log(N) steps. `git bisect run` automates the process with a checker script.
Shows for each line of a file: the commit SHA, the author, and the date of the last modification to that line. The primary answer to "who wrote this line, and when."
A plumbing command for reading objects in `.git/objects/` by their SHA. The main flags are: `-t` (type), `-s` (size), `-p` (content in human-readable form), `-e` (check whether the object exists).
A log of all HEAD movements on this machine. By default, entries for reachable commits live for 90 days; entries for unreachable commits live for 30. The primary recovery tool after `reset --hard`, `--amend`, `rebase`, and branch deletion. Stored locally in `.git/logs/`.
A plumbing command that translates human-readable ref names (HEAD, main~2, v1.0, :/typo) into full SHAs. Used by all porcelain commands under the hood, and convenient in scripts.
The official CLI from GitHub. Works with GitHub objects (PRs, issues, Actions, releases) that plain Git does not know about. Not a replacement for git, but a second-layer complement. Install via brew/apt/winget; authenticate with `gh auth login`.