Git использует SHA-1 для того, чтобы пользователь мог передать фиксацию.
Subversion (SVN) и Mercurial (hg) используйте инкрементное число.
Почему команда Git сделала это дизайнерское решение по использованию SHA-1 вместо чего-то более описательного?