Git Essentials

Diff, Stash and Tags

T'Chaka Dev· 4 pages· 3 min read

Diff

git diff answers "what have I changed?" at three different stages:

bash
git diff git diff --staged git diff main..feature/kimoyo-sync

Stash

git stash shelves uncommitted changes so you can switch context without committing half-finished work.

bash
git stash git stash pop
DIAGRAM work-in-progress lifted off the working directory onto a shelf, then put back

Tags

A tag is a permanent name for one commit — usually a release.

bash
git tag -a v1.0 -m "first release" git push origin v1.0