Как использовать несколько репозиториев Git, используя несколько учетных записей на одном компьютере? - PullRequest
3 голосов
/ 16 февраля 2011

Все работает для первого пользователя (пользователь Git, а не пользователь Unix), давайте назовем его ааа против первого хранилища. aaa устанавливается как git user.name и user.email глобально с помощью команды

git config --global user.name "aaa"
git config --global user.email aaa@live.com

ааа выполняет команду

git push origin master

успешно.

Затем у меня есть второй пользователь, назовем его bbb (опять-таки пользователь Git, а не пользователь Unix usr) на той же машине, но с другим локальным рабочим каталогом, пытаясь отправить его в другой репозиторий Git. Сначала я переопределяю свойства user.name и user.email. Итак, сразу после git init я выполняю:

git config user.name "bbb"
git config user.email bbb@live.com

Затем для подтверждения:

git config --get user.name

возвращает bbb. Когда я пытаюсь отправить bbb в свой собственный репозиторий, git запрашивает пароль SSH, и он, похоже, принимает пароль, но выдает ошибку, говоря, что разрешение запрещено aaa.

Я подозреваю, что это как-то связано с ключами SSH. Это правильное предположение?

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Сконфигурированное имя пользователя, используемое для записи фиксации в истории, но не для соединения ssh.Если вы хотите использовать другое имя пользователя, отличное от того, в которое вы вошли, вы должны изменить соответствующий исходный URL .git/config.Я думаю, url = ssh://bbb@server/... может подойти.Если вы хотите войти без пароля, вам нужно настроить sshkey для aaa, чтобы войти в систему как bbb на сервере, или использовать что-то вроде gitolite или gitosis.

0 голосов
/ 16 февраля 2011

В протоколе ssh не нужно вводить парольную фразу ssh:
«ssh username@servername» должен предоставить вам доступ к удаленной (защищенной) оболочке.

Отказано в разрешении означает, что вокруг вашего сервера имеется некоторая инкапсуляция (на основе ssh), например gitolite .
Единственный способ, которым gitolite примет bbb для aaa, - это если bbb использовал открытый ключ (и доступ к закрытому ключу) aaa, что может быть в случае, если его $HOME так или иначе aaa.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...