Оба Git и GitHub отображают короткие версии SHA - только первые 7 символов вместо всех 40 - и обе Git, и поддержка GitHub, берущие эти короткие SHA в качестве аргументов.
например. git show 962a9e8
например. https://github.com/joyent/node/commit/962a9e8
Учитывая, что пространство возможностей сейчас на порядок ниже, "просто" 268 миллионов, как Git и GitHub защищают от коллизий здесь? И как они справляются с ними?