В чем разница между деревом и каталогом? - PullRequest
6 голосов
/ 04 июня 2011

Я начинающий мерзавец, пытающийся разобраться в понятиях и терминах. Глоссарий git говорит, что дерево эквивалентно каталогу, а каталог - это то, что вы получаете с помощью ls. Это взаимозаменяемые термины? Или «дерево» и «каталог» должны использоваться в разных контекстах или для ссылки на отдельные (хотя и связанные) вещи?

Ответы [ 4 ]

3 голосов
/ 04 июня 2011

Краткий ответ: да, дерево - это каталог, а каталог - это дерево.

Длинный ответ: дерево - это объект, который содержит список BLOB-объектов, имена для прикрепления к BLOB-объектами другие деревья и имена, чтобы прикрепить к ним.http://book.git -scm.com / 1_the_git_object_model.html содержит довольно хорошее объяснение различных типов объектов в модели git;Я бы предложил почитать это!

3 голосов
/ 04 июня 2011

В терминологии Git «дерево» - это иерархическая структура файлов и каталогов. Это (целенаправленно) очень похоже на каталог в файловой системе.

Объект коммита Git содержит ссылку на объект дерева, который является состоянием всех файлов на момент этого коммита.

1 голос
0 голосов
/ 04 июня 2011

Проще говоря, «дерево» означает снимок всего состояния хранилища в тот момент времени (например, что вы получили для своего текущего кода [который также известен как HEAD]) хранилища, когда сделанный на данный момент коммит и т. д.)

Каталог просто ссылается на каталог файловой системы.

...