Как добавить удаленный репозиторий 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