Я просто выполнил следующие команды на своем проекте Ruby on Rails:
git init
git add .
git commit -a -m 'Initial'
Где Мерзавец на самом деле хранит этот репозиторий? (Это находится на моей локальной машине, но где?)
Он создаст ваш репозиторий в папке .git
в текущем каталоге.
Чтобы быть немного более полным, Git работает с:
git init
) .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 (второй квартал 2018 г.) запускает процесс развития того, как Git хранит объекты, путем рефакторинга внутренней глобальной структуры данных, чтобы сделать возможным чтобы открыть несколько репозиториев, поработайте с ними, а затем закройте их.
См. commit 4a7c05f , commit 1fea63e (23 марта 2018 г.) от Джонатана Нидера ( артаньон
) .
См. фиксация bd27f50 , фиксация ec7283e , фиксация d2607fa , фиксация a68377b , фиксация e977fc7 , фиксация e35454f , commit 332295d , commit 2ba0bfd , commit fbe33e2 , commit cf78ae4 , commit 13068bf , commit 77f012e , commit 0b20903 , commit 93d8d1e , commit ca5e6d2 , commit cfc62fc , commit 13313 , commit 9a00580 (23 марта 2018 г.) от Стефана Беллера ( stefanbeller
) .
(Объединено Junio C Hamano - gitster
- в commit cf0b179 , 11 апреля 2018 г.)
репозиторий
: введите исходный код поле хранилища объектовПоле хранилища необработанных объектов будет содержать любые объекты, необходимые для доступа к объектам в данном репозитории.
Этот патч вводит хранилище необработанных объектов и заполняет его
objectdir
, который раньше был частью структуры репозитория.По мере того, как структура получает элементы, мы также заполняем функцию, чтобы очистить память для этих членов.
На более позднем этапе мы представим
struct object_parser
, которая будет дополняют синтаксический анализ объекта в структуре репозитория:
- Анализатор необработанных объектов - это уровень, который будет обеспечивать доступ к необработанному содержимому объекта,
в то время как код анализатора объектов более высокого уровня будет анализировать необработанные объекты и отслеживает отцовство и другие отношения между объектами, используя '
struct object
'.На данный момент добавьте только нижний уровень в структуру репозитория.
В корневом каталоге проекта есть скрытый .git
каталог, который содержит конфигурацию, репозиторий и т.д.
В каталоге .git в корне проекта. В отличие от некоторых других систем контроля версий, в частности CVS, здесь нет дополнительных каталогов ни в одном из подкаталогов.