linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
Intro
Lessons
Footer
linuxlab-TutorialsPricingAboutPrivacy & cookies
Copyright © 2026 LinuxLab. All rights reserved.
linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
  • Introduction
  • Chapters
  • How it works
  • Lessons
  • Knowledge base
  • Interview prep
home/git/kb/Tools

kb/tools

Git tools: gh CLI, GUI clients, hooks

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.

  • bisectgit bisect

    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.

  • blamegit blame

    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."

  • cat-filegit cat-file

    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).

  • refloggit reflog

    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/`.

  • rev-parsegit rev-parse

    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.

  • gh-cliGitHub CLI (gh)

    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`.

Footer
linuxlab-
Copyright © 2026 LinuxLab. All rights reserved.
Tutorials
Pricing
About
Privacy & cookies