2015-05-02 2 views
9

Из git site (курсив мой):Что не содержит папка .git?

При запуске Git инициализации в новом или существующем каталоге, Git создает .git каталог , который где почти все, что Git хранит и манипулирует является располагается. Если вы хотите создать резервную копию или клонировать ваш репозиторий , копирование этого единственного каталога в другом месте дает вам почти все, что вам нужно.

Они пробираются «почти» и «почти» туда, не разрабатывая. Что не находится в каталоге .git? Если я хочу создать резервную копию или клонировать мой репозиторий, что копирует этот единственный каталог в другом месте , а не?

+0

Глобальные конфигурации не содержатся в каталоге '.git' – Maze

+0

@Maze Но они не являются специфичными для репозитория. – TimWolla

+0

@TimWolla: Верно, но это вещи, которые «Git хранит и манипулирует». –

ответ

7

Git не записывает:

  • группы файлов
  • Владельцы файлов
  • права доступа к файлам (кроме «это исполняемый»)
  • расширенные атрибуты
  • пустые папки
  • (что-нибудь в .gitignore, но это, вероятно, желательные)
  • gitmodules

Возможно this post может предоставить вам больше информации

глобальный файл
+0

То, что Git не записывает, отличается от того, что вы не получаете, когда копируете каталог' .git' –

4

У вас есть несколько других .git файлов, которые составляют ваше хранилище за пределами самой .git папки, в частности, у вас есть:

.gitignore # contains the files that you do not want in the repository 
.gitmodules # contains the information on submodules 

Как хорошо, если у вас есть подмодуль, вы будете иметь обычный текст файл .git, который указывает обратно в "реальный каталог хранилища" - см git Repository Layout Docs

+0

Вы не проверяете их? Если нет, почему бы и нет? –

+0

Я не думаю, что вы проверяете обычный текстовый файл '.git', но я могу ошибаться. Я видел, как люди проверяли и не проверяли файл '.gitignore' – Michael

1

Вашего пользователя/конфигурация, как правило, в ~/.gitconfig

Файл конфигурации системы, как правило, в $(prefix)/etc/gitconfig

Submodule информации будет храниться в верхнем уровне вашего рабочего каталога в .gitmodules файле

Информация об игнорировании файлов может поступать из любого количества файлов .gitignore в вашем рабочем каталоге. Но он также может исходить из файла исключений через git config --global core.excludesfile ~/.gitignore_global или аналогичный.

Если у вас есть альтернативное хранилище объектов или ссылочный репозиторий, настроенный в .git/objects/info/alternates, тогда у вас будут внешние зависимости от объектов.

Смежные вопросы