Как настроить собственный сервер GIT? Что такое голые / не-голые репозитории?
Я пытаюсь настроить простой сервер GIT. У меня установлен Ubuntu на виртуальном компьютере (Virtual Box). Я установил GIT, создал репо и т. Д.
git init git add . git commit "..."
Затем в Windows я сделал что-то вроде ниже (на cygwin)
git clone [email protected]:proj1
Пробовал вносить изменения, затем
Git commit -am "…"
Но получил что-то вроде
Я полагаю, что я неправильно настроил GIT? Я прочитал его, что-то делать с голыми / не-голыми репозиториями? Должен ли я использовать голые все время? Я пытался
git checkout --bare [email protected]:proj1
Но получил proj1.git
в нем, wierd файлы / папки, такие как (HEAD и т. Д.) Внутри. Каков правильный способ настройки GIT?
Также может кто-то объяснить голые / не-голые репозитории, я как бы потерян, с GitHub, нет такого!
ОБНОВЛЕНО 28 апреля 2011 г. 6 вечера UTC + 8
Я пробовал следовать http://www.youtube.com/watch?v=1gNFrPNF9-Y и на Ubuntu (Server)
git init --bare
Затем в Windows (Client / Cygwin)
git init // added readme.txt git add . git commit -m "..." git remote add origin master [email protected]:proj2 git push origin master
Ошибок нет. Но на Ubuntu я не вижу, где мои файлы? Я посмотрел на branches/
на 1-е место там?
«Нормальный» репозиторий – это каталог, содержащий фактический репозиторий, и рабочую копию. Фактический репозиторий находится в скрытом подкаталоге с именем .git
. Рабочая копия – это те файлы и каталоги, с которыми вы работаете.
«Голый» репозиторий – это просто содержимое каталога .git
, без рабочей копии.
Вы не можете работать с открытым репозиторием. Сначала вам нужно клонировать голый репозиторий в обычный репозиторий, а затем работать с клоном.
В первой попытке вы создали «обычный» репозиторий. Тогда вы клонировали это. Затем вы попытались вернуться в обычный репозиторий. Затем вы получили предупреждение. Вы не должны нажимать на обычный репозиторий. Гит предупреждает вас, когда вы пытаетесь это сделать. Вы должны только нажать на голый репозиторий.
Во второй попытке вы создали «голый» репозиторий. Затем вы создали «обычный» репозиторий. Затем вы переместились из обычного в голый репозиторий. Это (один из) ожидаемых рабочих процессов. Вот почему у вас нет ошибок или предупреждений.
Когда вы хотите работать над своим проектом с машины Windows и с компьютера ubuntu, у вас есть два варианта:
-
Создайте пустой репозиторий (неважно, где). Затем клон из этого репозитория, один на машине Windows и один на машине ubuntu. Теперь нажмите от клонов до голого репозитория и вытащите из голого репозитория клоны. Не нажимайте на обычные репозитории.
-
Создайте два обычных репозитория: один на машине Windows и один на машине ubuntu. Теперь, работая на ubuntu, вы можете вытащить из машины Windows и наоборот. Не нажимайте друг на друга.
Итог: только когда-либо нажимайте на обнаженные хранилища. Во всех остальных случаях, когда вы думаете, что хотите нажать от A до B, вместо этого перейдите в B, затем вытащите A.
Кажется, что вы очень новичок в git. Пожалуйста, прочитайте одну или обе следующие книги: Git Book , Pro Git .
Почему бы вам просто не использовать MSysGit, вот некоторые nettuts:
Как установить и настроить сервер репозитория Git с помощью Gitolite на Linux Ubuntu 11.04 или 10.04 с клиентами Windows с использованием MSysGit
или
Как установить и настроить сервер репозитория Git с помощью Gitolite на Linux Ubuntu 10.04 и 11.04 [среда разработки]