2017-01-07 3 views
0

Я инициализировал несколько локальных репозиториев git, но ни один из них не имеет файла <project>.git; только .git. Я хотел бы клонировать один из этих репо на другую машину в локальной сети, но clone, кажется, требует файла <project>.git. Как этот файл создается?Где находится файл <project> .git?

+1

Что вы имеете в виду, '' clone', кажется, требует ' .git' файл? Вы пытаетесь сделать клон и получить сообщение об ошибке? –

+1

Слова в '<>' (треугольные скобки) обычно относятся к некоторому неизбежному параметру или результату. В этом случае, когда вы инициализируете голый репозиторий, вы получите что-то вроде ' .git' ** folder **, где' project' - это просто имя вашего проекта, это может быть любое слово, слова, ... – 0andriy

+0

Я пренебрег что я действительно хочу сделать, это создать клон в сети (NFS) и синхронизировать два репозитория. Возможно, мне просто нужно использовать 'rsync'. –

ответ

1

Чтобы иметь project.git (а не project/.git), вам необходимо использовать git clone --bare или git init --bare.

Это создаст bare repository, один с содержимым .git и без рабочего дерева.

0

кажется, что вы пытаетесь создать у себя GIT сервер

git documentation to setup git server

+0

Эта мысль перешла мне в голову. Но я думаю, что это слишком сложно для моих целей. –

1

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

Небезопасный репозиторий - это клон другого репозитория, а также локальное состояние, такое как .git/HEAD, которое указывает, какая ревизия проверена, индекс, который используется для определения того, что изменилось в извлеченном дерево и помочь подготовить объекты фиксации и т. д.

Голый репо - project.git, который не включает рабочее дерево и только папку .git. Голый репозиторий, созданный с помощью git init --bare или git clone --bare, предназначен для совместного использования. Если вы сотрудничаете с группой разработчиков и нуждаетесь в месте для обмена изменениями в репо, вы можете создать голый репозиторий в централизованном месте, где все пользователи могут подталкивать свои изменения.

Так что, если вам нужно bare repo, то есть project.git, вам нужно будет его создать. Папка project.git или .git в каталоге такова, что содержит метаданные и историю версий git.