Я столкнулся с трудностями в понимании голого репозитория. Я везде читал, что общее репо - это чистое репо. Почему это должно быть чистое репо? Разве это не может быть обычное репо, которое соавторы клонируют, а затем нажимают / вытягивают?
концепция открытого общего репозитория в git
Ответы (1)
Это должно быть чистое репо, потому что не голое репо будет иметь рабочее дерево (что означает, что конкретная версия этого репо извлечена и с видимыми файлами).
Каждый раз, когда вы нажимаете на репо, отличное от чистого, у вас нет гарантии, что его рабочее дерево будет отражать то, что вы нажимаете, поскольку по умолчанию это рабочее дерево будет нетронутым.
(Представьте, что нажатие вызовет обновление рабочее дерево: файлы будут меняться внезапно без какого-либо контроля со стороны пользователей на принимающей стороне)
Вот почему проще иметь голое репо в качестве репо восходящего потока (которое вы нажимаете): нет рабочего дерева для управления / обновления.
Подробнее см. На странице "все о" голых "репозиториях - что, почему и как исправить не-голые репозитории".
У него нет проверенного дерева, поэтому он просто делает то, что условно делает «сервер» в централизованной VCS - записывает коммиты, ветки и т. Д., Когда вы нажимаете на него, и предоставляет вам последние версии, когда вы клонируете или извлекаете от него.