i've been working on some small updates to git's man pages and I've been noticing that I have an internal "decoder ring" with slightly wrong definitions that I use for git's jargon, like:
ref: a branch or tag
pathspec: a filename
index: staging area
<commit-ish>: a commit ID, or something (like a branch) that you can resolve to a commit ID
<tree-ish>: same thing as commit-ish
(some of these are more "accurate" than others obviously)