git bare Репозитории -- что это такое и зачем они нужны

bare -- "чистый" репозиторий без рабочий копии. Хранит массив последовательных снимков (снапшотов) файловой иерархии, но без рабочей копии, которую непосредственно правит программист, когда работает с системой контроля версий.

Зачем это нужно

Ответ получен от с humanmashine:

...[Существует] много причин чтобы на серверах делать bare репозитории, объяснять их желательно на примере и надо понимать как работает git, и что git - это древовидная структура изменений, так что:

  • 1) Это существенная экономия места - посмотрели с ребятами, скажем репозиторий 3 гига, его рабочая папка содержит кода на 300 - 500 мегабайт, так что это значительное экономия места особенно когда вы делаете частые бэкапы
  • 2) Удобно делать бекапы - просто перенесём маленькую папку
  • 3) Вам не нужно на сервере рабочее пространство, таким образом вы защищаетесь от ситуации когда у вас что-то вдруг модифицировалось в рабочей папке и из за этого не проходят пуши и пулы
  • 4) Сервер должен работать с ветками - мерджить их, и т д, опять же непредвиденные модификации сломают мердж, но и при мерджи обычные репозиторий восстанавливает всё в рабочей папке - это время особенно для большого репозитория и для частых мёрджев - в bare репе нет рабочей папки а значит не надо в неё чекаутить изменения.

Для большой команды то довольно актуальный функционал, но надо заметить что все популярные серверы с гитом, как gitlabs так и другие - они сами всегда делают bare и вы об этом не задумываетесь.