Где файлы проекта хранятся в папке `.git` репозитория git?
Я создал удаленный репозиторий для ряда своих проектов, поэтому он является местом назначения моего push
"S. Вопреки идеологии мерзавца, но он служит центральным хранилищем.
Однако, когда я иду к *.git
В папках на сервере есть структура каталогов вида:
- /branches
- /hooks
- applypatch-msg.sample
- commit-msg.sample
- etc
- /info
- exlude
- /objects
- 06
- 1c
- various hex numbers
- pack
- /refs
- /tags
- /heads
- master
- config
- description
- HEAD
Что здесь происходит, я уверен, что если бы я изучил внутреннюю работу git, я смог бы это выяснить, но где находятся файлы проекта?
Обновить
Я создал репо следующим образом:
- Существовал локальный репозиторий git
- Добавлен пульт в локальный
git remote add origin git@site.co.za:project_name.git
- На сервере создан базовый репозиторий с тем же именем 'git init --bare project_name.git`
- Толкается с локального на удаленный
git push origin master
2 ответа
Когда вы продвигаетесь к голому репо (см. " Все о" голых "репозиториях - что, почему и как исправить непрошенный репозиторий "), вы не увидите свой файл в этом репо, потому что по определению он не имеет рабочего дерева.
Вы можете добавить post-receive
крюк (как показано в этом post-receive
hook), чтобы оформить (и посмотреть) ваши файлы:
/path/to/bare/repo.git/hooks/post-receive:
cd /path/to/bare/repo.git
GIT_WORK_TREE=/path/to/live/server git checkout -f
Если вы просто хотите увидеть в списке файлов (или их содержимое), хранящихся в этом голом репо, вы можете сделать это, даже не клонируя указанное голое репо.
См. " Доступ к файлам репозитория с сервера Git ", если у вас есть прямой доступ к пустому серверу репо.
GIT_DIR=/path/to/bare.git git log --pretty=format: --name-only --diff-filter=A | sort | grep .
Git не хранит ваши файлы так, что вы можете просто посмотреть на них. Я думаю, вы можете видеть это:)
Вы можете просматривать файлы, управляемые репозиторием git, только при извлечении из этого репозитория. Вы должны сообщить нам, как вы создали удаленный репозиторий, чтобы мы могли сказать вам, где вы можете посмотреть этот удаленный сервер, но это может быть "никуда", если этот удаленный репозиторий "безголовый" (IE не имеет проверять, выписываться).