Как добавить удаленный репозиторий Git на сервер Ubuntu?

Я создал репозиторий Git на своей настольной машине (Windows 7) с:

git init git add <all my files> git commit -m "added my files" 

Теперь я установил новый Ubuntu Server 10.10 на машине в своей локальной сети и установил OpenSSH. Мой домашний каталог /home/jonas и я создал каталог ~/code/ чтобы содержать мои проекты. Я могу войти на сервер Ubuntu из Windows 7 с помощью Putty.

Я установил Git на сервер с помощью sudo apt-get install git

Добавление удаленного репозитория

Теперь я хочу добавить свой репозиторий Git на свой Рабочий стол на Сервер. Я пытался следовать инструкциям Pragmatic Version Control с помощью Git .

С моего рабочего стола я запускаю следующие команды:

 git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git git push origin master 

Но я получил сообщение об ошибке:

 fatal: 'jonas@192.168.1.180/home/jonas/code/myproject.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

В чем проблема? Как создать удаленный репозиторий?


Как предложил PerfectlyNormal, я добавил : в адрес. Теперь он работал лучше, и я должен был ввести свой пароль на сервер, но потом у меня появилось подобное сообщение об ошибке:

 fatal: '/home/jonas/code/myproject.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

Должен ли я инициализировать репозиторий Git на сервере, прежде чем я могу git push на него?

Вы настроили репозиторий на удаленном сервере? Вам нужно запустить

 mkdir -p /home/jonas/code/myproject.git cd /home/jonas/code/myproject.git git init --bare 

на сервере, чтобы настроить его. Я рекомендую взглянуть на то, как настроить git-сервер в бесплатной книге ProGit .

 git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git 

При использовании SSH адреса удаленных репозиториев могут быть выражены двумя способами. Один использует абсолютные пути и один использует относительные пути из домашнего каталога пользователей. Вы смешали их.

Исправленная команда будет одной из следующих.

 git remote add origin jonas@192.168.1.10:code/myproject.git git remote add origin ssh://jonas@192.168.1.10/home/jonas/code/myproject.git 

Первое, что я замечаю, это то, что вам не хватает «:». Должно быть git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git

вам нужен двоеточие:

 git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git 

должно быть:

 git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git 

Я обычно создаю голый репозиторий локально, а затем проверяю этот репозиторий на сервере, когда я настраиваю удаленный репозиторий.

Например,

 cd c:\gits git clone --bare c:\path\to\local\repository\some_project 

который создает some_project.git.

Затем,

 scp -r some_project.git login@some.server:/path/to/remote/gits/. 

введите свой пароль или, возможно, у вас уже есть доступ к открытому / закрытому ключу.

Посмотрите на удобный скрипт git-create.bash от Eike Kettner . Дайте ему ваш предпочтительный удаленный адрес ( jonas@192.168.1.10:code/myproject.git ), и он автоматически установит SSH для создания каталога и инициализирует пустой --bare репозиторий для вас. Все, что вам нужно сделать, это добавить git remote и git push .

git-create.bash : создать новый пустой удаленный репозиторий git через ssh

Применение:

 git-create.bash 'jonas@192.168.1.10:code/myproject.git' git remote add origin 'jonas@192.168.1.10:code/myproject.git' git push -u origin master