У меня есть две проблемы.У меня есть Ubuntu 10.10, и я установил сервер git с инструментом gitolite.Все работало довольно хорошо.Команда gl-setup gitolite создала 2 репозитория: gitolite-admin и testing.
1) ВОПРОС 1
Мой пользователь по умолчанию для администратора gitolite называется "git" и уже создан.
Во-первых, мне пришлось клонировать репозиторий gitolite-admin, внести некоторые изменения, скажем, в conf / gitolite.conf, чтобы добавить новый репозиторий и нового пользователя (я добавил пользователя root, создал и закрытый / открытый ключ ранее).а также добавил открытый ключ в папку keydir), затем мне пришлось добавить / зафиксировать и отодвинуть изменения обратно. 3
Информация: у меня нормально работает файл ~ git / .ssh / authorized_keys, начиная с command = иимея только одно значение - открытый ключ пользователя git, который я создал первым.
НЕ РАБОТАЛ:
git@vs1:~/$ git clone git@<<SERVER_IP>>:gitolite-admin.git
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/
git@<<SERVER_IP>>'s password:
fatal: 'gitolite-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
РАБОТАЕТ:
touch ~/.ssh/config
с содержимым:
host gitolite
user git
hostname <<SERVER_IP>>
identityfile ~/.ssh/git.pub
git@vs1:~/$ git clone gitolite:gitolite-admin
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/
Enter passphrase for key '/home/git/.ssh/git.pub':
Enter passphrase for key '/home/git/.ssh/git.pub':
Enter passphrase for key '/home/git/.ssh/git.pub':
git@89.35.160.243's password:
remote: Counting objects: 23, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 23 (delta 4), reused 0 (delta 0)
Receiving objects: 100% (23/23), done.
Resolving deltas: 100% (4/4), done.
Почему я вообще не работал в первом варианте?Все учебники говорят, что это должно работать без проблем.Мне пришлось использовать второй вариант при создании этой конфигурации хоста в файле ~ / .ssh / config.Это немного расстраивает.Путь к репозиторию - / home / git / repositories, а ssh - порт по умолчанию 22.
2) ВОПРОС 2
Используя пользователя root на том же сервере, я создал пустую папку, скажем так/var/www/example.com/www.Я запустил git init, затем добавил файл (.gitignore), запустил git add -A и git commit -m "...".
Затем я создал удаленный путь для источника:
git remote add origin git@<<SERVER_IP>>:myrepo.git
Я запустил Git Push Origin Master, и вот что я получил:
fatal: 'myrepo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Я пробовал разные вещиизменить, как положить весь путь к хранилищу (даже я нигде не видел, так что это неправильно), и я получил:
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: ENV GL_RC not set
remote: BEGIN failed--compilation aborted at hooks/update line 20.
remote: error: hook declined to update refs/heads/master
To git@<<SERVER_IP>>:/home/git/repositories/myrepo.git
! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'git@<<SERVER_IP>>:/home/git/repositories/myrepo.git'
Что я делаю неправильно?Это расстраивает, потому что для такой основной задачи я испытываю необычные трудности.У меня большой опыт работы с SVN, это первые игры с GIT.
Заранее благодарю за помощь!