Подтвердить что ты не робот

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

4b9b3361

Ответ 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