концепция открытого общего репозитория в git

Я столкнулся с трудностями в понимании голого репозитория. Я везде читал, что общее репо - это чистое репо. Почему это должно быть чистое репо? Разве это не может быть обычное репо, которое соавторы клонируют, а затем нажимают / вытягивают?


person user2636464    schedule 09.06.2014    source источник
comment
возможный дубликат Какая -практическая- разница между репозиторий Bare и не-Bare?   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 17.12.2014


Ответы (1)


Это должно быть чистое репо, потому что не голое репо будет иметь рабочее дерево (что означает, что конкретная версия этого репо извлечена и с видимыми файлами).

Каждый раз, когда вы нажимаете на репо, отличное от чистого, у вас нет гарантии, что его рабочее дерево будет отражать то, что вы нажимаете, поскольку по умолчанию это рабочее дерево будет нетронутым.
(Представьте, что нажатие вызовет обновление рабочее дерево: файлы будут меняться внезапно без какого-либо контроля со стороны пользователей на принимающей стороне)

Вот почему проще иметь голое репо в качестве репо восходящего потока (которое вы нажимаете): нет рабочего дерева для управления / обновления.

Подробнее см. На странице "все о" голых "репозиториях - что, почему и как исправить не-голые репозитории".

У него нет проверенного дерева, поэтому он просто делает то, что условно делает «сервер» в централизованной VCS - записывает коммиты, ветки и т. Д., Когда вы нажимаете на него, и предоставляет вам последние версии, когда вы клонируете или извлекаете от него.

person VonC    schedule 09.06.2014
comment
не могли бы вы немного объяснить это, если возможно? Каждый раз, когда вы нажимаете на репозиторий, не являющийся пустым, у вас нет гарантии, что его рабочее дерево будет отражать то, что вы нажимаете, поскольку по умолчанию это рабочее дерево будет нетронутым. - person user2636464; 09.06.2014
comment
@ user2636464, когда вы нажимаете новые коммиты, файлы, которые в настоящее время извлечены, не изменятся. - person VonC; 09.06.2014