Где Git хранить файлы?

Я только что выполнил следующие команды на моем проекте Ruby on Rails:

git init
git add .
git commit -a -m 'Initial'

Где Git действительно хранит этот репозиторий? (Это на моей локальной машине, но где?)

Ответы

Ответ 1

Он создаст ваш репозиторий в папке .git в текущем каталоге.

Ответ 2

Чтобы быть немного более полным, Git работает с:

  • рабочее дерево (корень которого находится там, где вы сделали git init)
  • " путь к репозиторию Git " (где есть .git, в котором будут храниться ревизии всех ваших файлов)

GIT_DIR - это переменная среды, которая может быть абсолютным или относительным путем к текущему рабочему каталогу.

Если он не определен, "путь к репозиторию git" по умолчанию находится в корневом каталоге вашего рабочего дерева (опять же, где вы сделали git init).

Фактически вы можете выполнить любую команду Git из любого места на вашем диске, при условии, что вы укажете путь к рабочему дереву и путь к репозиторию Git:

git command --git-dir=<path> --work-tree=<path>

Но если вы выполняете их в одном из подкаталогов репозитория Git (без указания GIT-DIR или пути к рабочему дереву), Git просто просматривает текущий и родительский каталоги, пока не найдет .git, предположим, что он также является корневым каталог вашего рабочего дерева, и используйте этот .git как единственный контейнер для всех ревизий ваших файлов.

Примечание: .git также скрыт в Windows (msysgit).
Вы должны сделать dir/AH чтобы увидеть это.
git 2.9 (июнь 2016) позволяет это настроить.


Обратите внимание, что Git 2.18 (Q2 2018) запускает процесс для эволюции того, как Git хранит объекты, путем рефакторинга внутренней глобальной структуры данных, чтобы можно было открывать несколько репозиториев, работать с ними, а затем закрывать их.

Смотрите коммит 4a7c05f, коммит 1fea63e (23 марта 2018 г.) Джонатана Нидера (artagnon).
См совершать bd27f50, совершать ec7283e, совершает d2607fa, совершает a68377b, совершает e977fc7, совершает e35454f, совершает 332295d, совершает 2ba0bfd, совершает fbe33e2, совершает cf78ae4, совершает 13068bf, совершает 77f012e, совершает 0b20903, совершает 93d8d1e, совершает ca5e6d2, совершает cfc62fc, совершить 13313fc, совершить 9a00580 (23 марта 2018) Стефаном stefanbeller (stefanbeller).
(Объединено Junio C Hamano - gitster - в коммите cf0b179, 11 апреля 2018 г.)

repository: ввести поле repository необработанных объектов

Поле хранилища необработанных объектов будет содержать любые объекты, необходимые для доступа к объектам в данном хранилище.

Этот патч знакомит с хранилищем необработанных объектов и заполняет его objectdir, который раньше был частью структуры хранилища.

Когда структура получает членов, мы также заполним функцию, чтобы очистить память для этих членов.

На следующем шаге мы представим struct object_parser, которая дополнит синтаксический анализ объекта в структуре репозитория:

  • Анализатор необработанных объектов - это слой, который обеспечивает доступ к содержимому необработанных объектов.
  • в то время как код синтаксического анализатора объекта более высокого уровня будет анализировать необработанные объекты и отслеживать родительские и другие объектные отношения, используя " struct object ".

    Пока добавьте только нижний уровень в структуру хранилища.

Ответ 3

Если вы находитесь на английской машине Windows, Git путь к хранилищу по умолчанию будет C:\Documents and Settings\< current_user>\, потому что в Windows локальные настройки по умолчанию Git находятся в C:\Documents and Settings\< current_user>\.git и поэтому Git создает отдельную папку для каждого repo/clone в C:\Documents and Settings\< current_user>\ и есть все каталоги клонированного проекта.

Например, если вы устанавливаете Symfony 2 с

git clone git://github.com/symfony/symfony.git

каталог и файл Symfony будут находиться в

C:\Documents and Settings\< current_user>\symfony\

Ответ 4

В корневой директории проекта есть скрытый каталог .git, содержащий конфигурацию, репозиторий и т.д.

Ответ 5

Я нахожусь в Windows и нашел свое местоположение, щелкнув правой кнопкой мыши по программе Git Bash в меню "Пуск" и выбрав "Свойства". На вкладке "Ярлык" отображается значение "Начать в:". Для меня это было %HOMEDRIVE%%HOMEPATH%, поэтому я открыл приглашение CMD и набрал echo %HOMEDRIVE%%HOMEPATH%, чтобы увидеть фактическое местоположение.

Ответ 6

В каталоге .git в корне проекта. В отличие от некоторых других систем управления версиями, в частности CVS, в любом из подкаталогов нет дополнительных каталогов.

Ответ 7

Я также не смог найти репозиторий git. Я использую Windows 8 и создал свой репозиторий (по ошибке) под C:\Program Files (x86)\Git. Я мог видеть папку репозитория в bash, но не в cmd или в проводнике Windows.

Затем я вспомнил о функции Windows "Виртуальный магазин". Моя папка хранилища была фактически создана под C:\Users\<username>\AppData\Local\VirtualStore\Program Files (x86)\Git\<myrepo> и в моей папке .git!

Ответ 8

Если вы ищете, где была создана папка проекта. Я заметил, когда я набрал в git bash.

$ git init projectName

он скажет мне, где находится папка проекта для этого проекта.

Ответ 9

обычно он переходит в папку Documents в Windows: C:\Users\< "имя учетной записи пользователя" > \Documents\GitHub