2013-04-05 2 views
0

У меня есть beaglebone, который я установил некоторое время назад (когда я впервые изучил git) с помощью ssh-ключа для конкретной учетной записи github. Эта учетная запись является основной учетной записью нашей компании. Многие люди работают непосредственно, и нажимают на github прямо из, beaglebone. Я бы хотел изменить настройки так, чтобы всякий раз, когда кто-то хочет совершить или нажать на github, они запрашивают их имя пользователя.Изменение настроек git, позволяющих нескольким пользователям создавать файлы push/commit

Мое последнее совершение и push выглядит так: вы увидите, что у меня нет возможности ввести имя пользователя, просто пароль для основной учетной записи нашей компании.

[email protected]:/var/lib/cloud9/pypos# git commit -a -m "class restructured and passing the new updated test script" 
[class_restructure 1db2e33] class restructured and passing the new updated test script 
2 files changed, 14 insertions(+), 10 deletions(-) 
[email protected]:/var/lib/cloud9/pypos# git push origin class_restructure 
Enter passphrase for key '/home/root/.ssh/id_rsa': 
Counting objects: 7, done. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 531 bytes, done. 
Total 4 (delta 3), reused 0 (delta 0) 
To [email protected]:FarmDesign/pypos.git 
    83831a8..1db2e33 class_restructure -> class_restructure 
[email protected]:/var/lib/cloud9/pypos# 

ответ

3

GitHub поддерживает различные протоколы для связи с репозиториями, которые вы размещаете там. Если вы используете протокол SSH, git запрашивает пароль для разблокировки ключа, хранящегося в .ssh, который привязан к возможности нажатия на репозиторий GitHub (любой, у кого есть доступ к ключу, может нажать на репо, поэтому пароль для доступа к ключу - все, что необходимо). Однако, если вы используете HTTP, вас попросят ввести имя пользователя и пароль GitHub.

Итак, перейдите на веб-страницу GitHub вашего репозитория и обратите внимание на кнопки переключения HTTP, SSH и GIT рядом с URL-адресом репозитория (в верхней части страницы). Играйте с этой кнопкой, чтобы узнать, как изменяется URL-адрес репо - это разные URL-адреса, на которых доступно ваше репо, в зависимости от того, какой протокол вы используете. Теперь нажмите «HTTP» и скопируйте этот URL в буфер обмена.

Теперь перейдите к своему терминалу и cd в каталог вашего местного клона репо. Теперь, используя GIT удаленную команду, чтобы изменить URL, на котором мерзавец будет сообщающийся с репо GitHub:

git remote set-url origin THE_URL_THAT_YOU_JUST_COPIED_TO_CLIPBOARD 

Теперь, когда вы пытаетесь сделать Git толчок, мерзавец будет использовать протокол HTTP, который потребует от вас указать ваше имя пользователя и пароль.

+0

К сожалению, у меня были трудности с настройкой https (это частный репозиторий), поэтому я пошел с ключом SSH ... Я понимаю, что использование нескольких пользователей на одной машине невозможно через ssh? – Chris

+0

Вы должны иметь возможность настроить HTTPS для частного репозитория. У меня есть частные репозитории и нет проблем с использованием HTTPS. Однако вам нужно добавить других пользователей GitHub в качестве соавтора для репо, чтобы они могли получить доступ к репо через HTTPS. Что касается использования ключей SSH и нескольких пользователей - да, на одном компьютере можно использовать несколько пользователей и использовать SSH. Это возможно, если ключи ssh для каждого пользователя хранятся в отдельной учетной записи пользователя. Тем не менее, я заметил, что вы используете ключи ssh из учетной записи root (см. Ваш вопрос, строка 'Enter passphrase for key '/home/root/.ssh/id_rsa':'). –