Я инициализировал несколько локальных репозиториев git, но ни один из них не имеет файла <project>.git
; только .git
. Я хотел бы клонировать один из этих репо на другую машину в локальной сети, но clone
, кажется, требует файла <project>.git
. Как этот файл создается?Где находится файл <project> .git?
ответ
Чтобы иметь project.git
(а не project/.git
), вам необходимо использовать git clone --bare
или git init --bare
.
Это создаст bare repository, один с содержимым .git и без рабочего дерева.
кажется, что вы пытаетесь создать у себя GIT сервер
Эта мысль перешла мне в голову. Но я думаю, что это слишком сложно для моих целей. –
Если вам просто нужно скопировать проект в другой машине со всеми файлами и git
в нем данных, то просто скопировать папку у вас есть .git
репозиторий. Каталог .git
содержит метаданные git (и всю историю версий). Это будет иметь полное рабочее дерево вашего проекта с историей версии git. Это называется не голым репозиторием.
Небезопасный репозиторий - это клон другого репозитория, а также локальное состояние, такое как .git/HEAD, которое указывает, какая ревизия проверена, индекс, который используется для определения того, что изменилось в извлеченном дерево и помочь подготовить объекты фиксации и т. д.
Голый репо - project.git
, который не включает рабочее дерево и только папку .git
. Голый репозиторий, созданный с помощью git init --bare
или git clone --bare
, предназначен для совместного использования. Если вы сотрудничаете с группой разработчиков и нуждаетесь в месте для обмена изменениями в репо, вы можете создать голый репозиторий в централизованном месте, где все пользователи могут подталкивать свои изменения.
Так что, если вам нужно bare
repo, то есть project.git
, вам нужно будет его создать. Папка project.git
или .git
в каталоге такова, что содержит метаданные и историю версий git
.
Что вы имеете в виду, '' clone', кажется, требует ' .git' файл? Вы пытаетесь сделать клон и получить сообщение об ошибке? –
Слова в '<>' (треугольные скобки) обычно относятся к некоторому неизбежному параметру или результату. В этом случае, когда вы инициализируете голый репозиторий, вы получите что-то вроде ' .git' ** folder **, где' project' - это просто имя вашего проекта, это может быть любое слово, слова, ... –
0andriy
Я пренебрег что я действительно хочу сделать, это создать клон в сети (NFS) и синхронизировать два репозитория. Возможно, мне просто нужно использовать 'rsync'. –