заметки на полях

Блокнот разработчика

Директория Git и рабочая директория

Директория Git

«Директория Git» – это директория в которой хранится вся история и мета-информация Git о Вашем проекте, включая все объекты (коммиты, деревья, blob, теги), указатели на различные ветки и прочее.

Для каждого проекта есть только одна своя «директория Git» (в отличии от SVN или CSV, которые добавляют свой служебный каталог в каждую директорию проекта) с именем ‘.git’ (по умолчанию, но не обязательно что бы имя было именно таким) в корне проекта. Если посмотреть содержимое этой директории, вы сможете увидеть все свои самые важные файлы:

$>tree -L 1
.
|-- HEAD         # указатель на текущую ветку
|-- config       # настройки предпочтений
|-- description  # информация о проекте
|-- hooks/       # пре и пост перехватчики действий
|-- index        # индексные файлы (смотри следующую секци)
|-- logs/        # история Ваших веток
|-- objects/     # объекты (коммиты, деревья, blob`ы, теги)
`-- refs/        # указатели на ветки

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

Рабочая директория

«Рабочая директория» Git представляет собой директорию в которой хранится текущая (рабочая) копия файлов из репозитория. Файлы из этой директории могут удаляться и заменяться Git`ом при переключении между ветками – это нормальное поведение. Вся Ваша история хранится в «Директории Git»; рабочая директория это просто временная копия файлов репозитория, с которыми вы можете работать (добавлять, удалять изменять) до следующего коммита.

Перевод, оригинал статьи: http://book.git-scm.com/1_git_directory_and_working_directory.html

Leave a Reply