Skip to content

Git Terms

Daniel Shiffman edited this page Mar 30, 2026 · 2 revisions

🧠 Core Concepts

  • Repository (repo)
  • Working directory
  • Staging area (index)
  • Commit
  • History / commit history
  • SHA / hash
  • HEAD
  • Snapshot (vs changes)
  • Local vs remote

πŸ”§ Basic Workflow

  • git init
  • git clone
  • git status
  • git add
  • git commit
  • git log
  • git diff
  • git restore / git checkout (file-level)
  • git rm
  • git mv

🌿 Branching & Navigation

  • Branch
  • git branch
  • git switch / git checkout
  • main branch
  • Detached HEAD
  • Fast-forward

πŸ”€ Merging

  • Merge
  • Merge commit
  • Merge conflict
  • git merge
  • git rebase
  • squash commits
  • Cherry-pick

🌐 Remotes & Collaboration

  • Remote
  • Origin
  • Upstream
  • git remote
  • git fetch
  • git pull
  • git push

πŸ§‘β€πŸ€β€πŸ§‘ GitHub Concepts

  • Repository
  • Fork
  • Pull request (PR)
  • Code review
  • Issues
  • Discussions
  • stars / watchers
  • GitHub Actions (CI/CD)
  • README
  • License
  • Releases
  • GitHub Pages

πŸ›  Undoing & Fixing Mistakes

  • git reset (soft / mixed / hard)
  • git revert
  • Amend (git commit --amend)
  • Reflog
  • Stash (git stash)
  • Clean (git clean)

πŸ“¦ File States & Tracking

  • Tracked vs untracked files
  • .gitignore
  • Modified / staged / committed states

🧬 Advanced Concepts

  • DAG (directed acyclic graph)
  • Commit graph
  • Blobs, trees, commits (internals)
  • Submodules
  • Hooks
  • Sparse checkout
  • Worktrees
  • Bisect (git bisect)
  • Tagging (git tag)
  • Annotated vs lightweight tags

Clone this wiki locally