What's changed: Expanded content (added diagrams)
2.2Recording Changes (add, commit, diff, log)
The heart of daily Git work is recording changes and inspecting state.
■ Recording
• git add <file> = place changes into the staging area (selecting what goes into the next commit).
• git commit -m "message" = finalize staged changes into local history.
A plain git commit records only staged changes; edited-but-unstaged changes are not committed. The -a (-am) option auto-stages tracked files (but not new files). Commit in meaningful units and write messages that convey what and why.
■ Inspecting state and diffs
• git status = show changes/staging status and the current branch.
• git diff = show not-yet-committed changes (--staged for staged changes).
• git log = list commit history (author, date, message); --oneline shows a compact one-line-per-commit view.
■ Tracing and sharing
• git blame <file> = show who changed each line and when, to trace how code evolved.
• git push = publish your local commits to a remote (e.g., origin) to share with others.
Committing and pushing frequently improves safety and makes collaboration smoother.
Sign in to track progress — Log in.
Quick check
(just a quick review)Q1. Which command shows uncommitted changes (the diff)?
Q2. Which command lists commit history?
Keep track of your progress
The full study guide is free to read. Sign up free to practice with the question bank, track what you have read, review your mistakes, and highlight passages.

