Как добавить удаленный репозиторий 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 [email protected]/home/jonas/code/myproject.git
git push origin master
Но я получил это сообщение об ошибке:
fatal: '[email protected]/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
к нему?
Ответы
Ответ 1
Вы настроили репозиторий на удаленном сервере? Вам нужно запустить
mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare
на сервере, чтобы настроить его. Я рекомендую посмотреть, как настроить сервер git в бесплатной книге ProGit.
Ответ 2
git remote add origin [email protected]/home/jonas/code/myproject.git
При использовании SSH адреса удаленных репозиториев могут быть выражены двумя способами. Один использует абсолютные пути и один использует относительные пути из домашнего каталога пользователей. Вы смешали их.
Исправленная команда будет одной из следующих.
git remote add origin [email protected]:code/myproject.git
git remote add origin ssh://[email protected]/home/jonas/code/myproject.git
Ответ 3
Прежде всего я замечаю, что вам не хватает ":". Должно быть git remote add origin [email protected]:/home/jonas/code/myproject.git
Ответ 4
вам понадобится двоеточие:
git remote add origin [email protected]/home/jonas/code/myproject.git
должен быть:
git remote add origin [email protected]:/home/jonas/code/myproject.git
Ответ 5
Я обычно создаю голый репозиторий локально, а затем просматриваю этот репозиторий на сервере, когда я настраиваю удаленный репозиторий.
Например,
cd c:\gits
git clone --bare c:\path\to\local\repository\some_project
который создает some_project.git.
Затем
scp -r some_project.git [email protected]:/path/to/remote/gits/.
введите свой пароль или, возможно, у вас уже есть доступ к общедоступному/закрытому ключу.
Ответ 6
Посмотрите удобный script git-create.bash
Эйке Кеттнер. Дайте ему ваш предпочтительный удаленный адрес ([email protected]:code/myproject.git
), и он автоматически запустит SSH для создания каталога и инициализирует пустой репозиторий --bare
для вас. Все, что вам нужно сделать, это добавить git remote
и git push
.
git-create.bash
: создать новый пустой удаленный репозиторий git через ssh
Использование:
git-create.bash '[email protected]:code/myproject.git'
git remote add origin '[email protected]:code/myproject.git'
git push -u origin master