SELF-GUIDED PRACTICE
Get your hands on Git.
Follow the setup in your own terminal, work toward the goal, and mark each exercise complete at your own pace.
Practice in your own terminal. Follow the setup, work through the task, and mark it complete when you’re satisfied. Completion is your own record; the website does not inspect your work.
0 of 29 completed
29 exercises
- 1
Make your first commit
Turn an untracked practice note into a saved snapshot.
Not completedOpen task → - 2
Commit one file, leave the other alone
Save a release note without including a private draft.
Not completedOpen task → - 3
Stage only the release change
Prepare one change without including an unfinished draft.
Not completedOpen task → - 4
Commit only the intended staged file
Both files are staged, but only one belongs in the release.
Not completedOpen task → - 5
Keep the scratch edit out
Remove a file from the next commit without losing its edits.
Not completedOpen task → - 6
Leave generated files behind
Add useful ignore rules without hiding ordinary source files.
Not completedOpen task → - 7
Untrack a file without deleting it
An ignore rule was added after a log had already been committed.
Not completedOpen task → - 8
Record a script as executable
Store executable permission in Git’s index, including on Windows.
Not completedOpen task → - 9
Push to a practice remote
See what a push transfers using a local bare repository.
Not completedOpen task → - 10
Catch up without a merge commit
Advance main to work that is already ahead of it.
Not completedOpen task → - 11
Keep both sides of a merge
Resolve a conflict by understanding what each branch changed.
Not completedOpen task → - 12
Pause a draft for an urgent fix
Protect unfinished work while making a separate repair.
Not completedOpen task → - 13
Replay your work after a hotfix
Put a local documentation change on top of the updated main.
Not completedOpen task → - 14
Give the last commit a useful name
Repair a local commit message while preserving its contents.
Not completedOpen task → - 15
Fix the last snapshot and its message
Correct a typo without adding another history entry.
Not completedOpen task → - 16
Correct a filename’s capitalization
Make a case-only rename that also works on Windows.
Not completedOpen task → - 17
Recover the deleted runbook
Restore one tracked file while preserving another unfinished edit.
Not completedOpen task → - 18
Recover the commit you replaced
Find the original snapshot after an accidental amend.
Not completedOpen task → - 19
Undo a change without erasing history
Create an inverse commit instead of moving the branch backwards.
Not completedOpen task → - 20
Set dates on a disposable commit
Understand author and committer timestamps in local history.
Not completedOpen task → - 21
Split a mixed commit into two
Give unrelated files their own history entries.
Not completedOpen task → - 22
Combine the unfinished checkpoints
Replace three local WIP commits with one coherent change.
Not completedOpen task → - 23
Commit two edits from one file separately
Use patch staging to separate independent configuration changes.
Not completedOpen task → - 24
Repair an earlier documentation commit
Fold a typo correction into its original commit while keeping later work.
Not completedOpen task → - 25
Assemble selected features
Cherry-pick two small features and squash a third branch.
Not completedOpen task → - 26
Move only the fix to the release branch
Detach two useful commits from unrelated topic work.
Not completedOpen task → - 27
Put prerequisite work first
Repair the order of two independent local changes.
Not completedOpen task → - 28
Find and clean a word throughout local history
Use history search, then rewrite each affected snapshot.
Not completedOpen task → - 29
Find the first broken revision
Let a repeatable test locate a regression in twelve changes.
Not completedOpen task →
Git topic coverage inspired by Git Exercises by Wojciech Frącz and Jacek Dajda. OpsRung uses original scenarios and local fixtures; completion is your own record.
← All practice tracks