GIT: Есть ли способ установить учетные данные по умолчанию? - PullRequest
11 голосов
/ 21 октября 2011

Я использую терминал для Mac и запускаю линию

git push origin master

Каждый раз, когда у меня запрашивается имя пользователя и пароль для github.com,
есть ли способ, чтобы он автоматически использовал мойучетные данные?


Я получаю сообщение об ошибке

error: The requested URL returned error: 403 while accessing 
https://github.com/atheycreek/churchdeploy.git/info/refs

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://github.com/atheycreek/churchdeploy.git

Поэтому я изменил ее на

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git:github.com/atheycreek/churchdeploy.git

, теперь я получаю ..

kirkstrobeck:churchdeploy kirkstrobeck$ git push origin master
ssh: Could not resolve hostname git: nodename nor servname provided, or not known
fatal: The remote end hung up unexpectedly

Я изменил его на

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com/atheycreek/churchdeploy.git

и теперь я получаю ..

kirkstrobeck:churchdeploy kirkstrobeck$ git push origin master
fatal: 'git@github.com/atheycreek/churchdeploy.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Ответы [ 5 ]

16 голосов
/ 04 ноября 2011

Из вашего описания вещей, похоже, что ваш [Project Dir] /. Git / config файл настроен со строкой url = https..., а не url = git@github.com.... Можете ли вы проверить этот файл, чтобы увидеть, что он говорит? Было бы здорово, если бы вы могли опубликовать весь свой раздел «удаленное происхождение». Вероятно, это выглядит примерно так:

[remote "origin"]
    url = https://github.com/atheycreek/churchdeploy.git
    fetch = +refs/heads/*:refs/remotes/origin/*

, но вместо http нужно использовать ssh:

[remote "origin"]
    url = git@github.com:atheycreek/churchdeploy.git
    fetch = +refs/heads/*:refs/remotes/origin/*
10 голосов
/ 21 октября 2011

Настройте ваши ssh-ключи соответствующим образом с пустой парольной фразой, и вам не нужно вводить учетные данные: http://help.github.com/mac-set-up-git/

5 голосов
/ 14 декабря 2012

Если вы используете OSX, вы можете использовать помощник osxkeychain.Вы можете проверить, установлена ​​ли она у вас, набрав:

git credential-osxkeychain

Если вы получили сообщение о том, что это недопустимая команда git, вы можете установить ее, выполнив:

curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
chmod u+x git-credential-osxkeychain
sudo mv git-credential-osxkeychain `dirname \`which git\``

Затем скажите git использовать его с:

git config --global credential.helper osxkeychain

Вам будет предложено ввести свои учетные данные еще раз в следующий раз, когда вы будете выполнять пуш / пуш.С этого момента git должен помнить вашу информацию.

1 голос
/ 21 октября 2011

Использование пустой парольной фразы считается плохой практикой.Цитирование Help.Github :

Пароли не очень безопасны, вы уже знаете это.Если вы используете тот, который легко запомнить, его легче угадать или перебор.Если вы используете случайный, его трудно запомнить, и, следовательно, вы более склонны записывать пароль.Оба они очень плохие вещи.Вот почему вы используете ssh-ключи.

Но использование ключа без ключевой фразы - это то же самое, что записать этот случайный пароль в файл на вашем компьютере.Любой, кто получит доступ к вашему диску, получит доступ ко всем системам, с которыми вы используете этот ключ.Это также Very Bad Thing ™ .Решение очевидно: добавьте ключевую фразу.

Правильное решение здесь - использовать ssh-agent - таким образом, Git будет запрашивать ваш пароль только один раз за сеанс.См. на этой странице , чтобы узнать, как настроить его в вашей системе.

0 голосов
/ 21 октября 2011

настройка вашего токена API, а также учетных данных SSH (пароль меньше, но желательно с паролем агента)

Ссылка , предоставленная в другом ответе, также содержит инструкции для этого. В частности, посмотрите на шаг 2 в нижней части.

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