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

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

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

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

Я установил Git на сервере с sudo apt-get install git

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

теперь я хочу добавить мой репозиторий Git на моем рабочем столе на сервере. Я попытался следовать инструкциям из Прагматический Контроль Версий С Помощью 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 к нему?

6 ответов


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

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

на сервере, чтобы настроить его. Я рекомендую взглянуть на то, как настроить сервер git в free книги 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


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

например,

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

что создает some_project.мерзавец.

затем,

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

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


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

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-create.bash by Эйке Кеттнер . Дайте ему ваш предпочтительный удаленный адрес (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