2016-08-18 3 views
1

Я путешествую и не имею свой обычный ноутбук. Мне нужно создать новый проект и подтолкнуть его к моему GitHub как новое репо. Мой друг, которому принадлежит этот ноутбук (из которого я пишу этот вопрос), также делает много вещей на GitHub. Поэтому я создал проект локально, а затем зашел в GitHub и создал удаленное репо. GitHub хочет, чтобы выполнить следующие типичные команды для всех новых сделок РЕПО:Разрешение отрицается моей собственной репутацией GitHub

git init 
git add README.md 
git commit -m "first commit" 
git remote add origin https://github.com/mygithubuser/example-app.git 
git push -u origin master 

Когда я пошел, чтобы пойти сделать git push -u origin master, я получаю следующее сообщение об ошибке:

remote: Permission to mygithubuser/example-app.git denied to other-user. 
fatal: unable to access 'https://github.com/mygithubuser/example-app.git/': The requested URL returned error: 403 

... где other-user является имя пользователя моего друга GitHub (в конце концов, я использую его ноутбук). Так что я посмотрел типичный исправить и попытался запустить:

git remote set-url origin https://github.com/mygithubuser/example-app.git 

Git не жаловался, поэтому я попытался повторный запуск:

git push -u origin master 

... но я получаю тот же «403» ошибка. Любые идеи, в которых я буду ошибаться, и что здесь исправить? В идеале есть какая-то волшебная команда, которая попросит меня аутентифицироваться как мой типичный пользователь?

+1

Может временно добавить ключ SSH паб вас ключи на GitHub, а затем удалить его, когда вы даете ноутбук обратно? звучит как самый простой вариант для меня. – speedingdeer

+0

Спасибо @speedingeer (+1) - как это будет работать? Где я могу найти ключ SSH pub? '~/.ssh/known_hosts' не содержит ссылок GitHub в нем ... – smeeb

+2

github имеет отличную документацию для использования ключей ssh. https://help.github.com/articles/generating-an-ssh-key/ – speedingdeer

ответ

1

конфигурируется, которые имеют доступ к репо в Настройках/Соавторам, вам необходимо войти в системе как сами себя: https://github.com/mygithubuser/example-app/settings/collaboration

Если вы хотите, чтобы совершить автор будет отличаться от пользователя, совершающими вы можете использовать --author:

git commit --author="John Doe <[email protected]>" 

Пример исходит от excellent git tutorial from Tower.

С этим коммиттером будет other-user, и автор будет указан вами. Убедитесь, что вы используете правильное имя/адрес электронной почты у своего пользователя.

+0

Спасибо @Felipe Cypriano (+1) - если мой типичный пользователь Github является 'mygithubuser', и я следую вашему предложению выше, тогда будет показано, что' mygithubuser' нажал изменение или что 'other-suer' нажал изменение ? Мне нужно, чтобы это было от меня ('mygithubuser')! – smeeb

+0

Мое предложение даст доступ к «другому пользователю», поэтому, если вы нажмете с ним, он покажет, как он. Поэтому, если вы не хотите предоставлять доступ к «другому пользователю», не делайте того, что я сказал. –

+0

@smeeb Я добавил дополнительную информацию о том, как вы можете использовать 'other-user' для отправки коммита, но ставите себя как автора. –

0

Просто дайте своему другу направить права на ваш репозиторий.
Автор и Коммиттер все равно будут вами.
На самом деле не имеет значения, кто сделал настоящий толчок.
Кто толкает, он не модифицирует метаданные коммитов.

0

Открыть терминал и запустить

git credential-osxkeychain erase 
host=github.com 
protocol=https 
[press return] 

После, push -u origin master

Смежные вопросы