I know ^ as a 'power of' character/symbol. According to ASCII it's called:
spacing circumflex accent
In git I see it (well, two of it) used in conjunction with HEAD here
git reset --hard HEAD^^
I sometimes see ~ too.
Precisely what is the ^ character doing here? That is, how do I interpret its meaning; what is it communicating?