я дико извиняюсь, но что именно в гитлабе вы собрались хайлавайлабилить? под какую модель отказов? внутри там база данных обычная, чаще всего postgres, со всеми вытекающими практиками... и не является ли слово distributed в определении "что такое git" намёком на то, как надо добиваться availability для кода...
ну “что такое гит” и для чего делался, и то, как его используют в ентерпрайзах\гитхабах\гитлабах ну как немного другое же получается