Ответ 1
Следуйте инструкциям по настройке ключей SSH здесь: https://help.github.com/articles/generating-ssh-keys
ИЛИ
git remote add origin https://{username}:{password}@github.com/{username}/project.git
У меня возникает следующая проблема, когда я пытаюсь извлечь код, используя GIT Bash в windows
Я уже пытался реализовать принятое решение, представленное здесь:
но проблема сохраняется. После добавления/удаления начала я все равно получаю ту же ошибку.
fatal: could not read Username for 'https://github.com': No such file or directory
Следуйте инструкциям по настройке ключей SSH здесь: https://help.github.com/articles/generating-ssh-keys
ИЛИ
git remote add origin https://{username}:{password}@github.com/{username}/project.git
Если вы получаете эту ошибку вместо:
Неустранимый: не удалось прочитать имя пользователя для " https://github.com ": нет ошибки
Затем вам нужно обновить Git до версии 2.16
или новее.
Я столкнулся с той же проблемой. Эта проблема возникла, когда я клонировал URL-адрес HTTPS, а затем попытался нажать изменения с помощью Git Bash в Windows, используя:
git clone https://github.com/{username}/{repo}.git
Однако, когда я использовал URL SSH для клонирования, эта проблема не возникала:
git clone [email protected]:{username}/{repo}.git
Короткий ответ:
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/{USER_NAME}/{REPOSITORY_NAME}.git
git push --set-upstream origin master
Игнорировать первые три строки, если это не новый репозиторий.
Более длинное описание:
У меня была такая же проблема, как и ответы на вышеприведенные ответы, я решил опубликовать это решение, которое сработало для меня.
Несколько заметок:
В качестве инструмента командной строки я использовал GitShell (для Windows я использую Terminal.app на Mac).
GitShell является официальным инструментом GitHub, его можно загрузить из https://windows.github.com/
Надеюсь, это поможет любому, у кого есть такая же проблема.
Это проблема с вашими сохраненными учетными данными в кеше системных учетных данных. Вероятно, у вас есть переменная config 'credential.helper', установленная либо wincred, либо winstore, и она не очищает ее. Если вы запустите панель управления и запустите апплет Credential Manager, найдите элементы в разделе общих учетных данных с надписью "git: https://github.com", Если вы удалите их, то в следующий раз они будут воссозданы, но утилита учетных данных будет запрашивать ваши новые учетные данные.
Я исправил это, установив новую версию Git. Версия, которую я установил, - 2.10.2 из https://git-scm.com. Посмотреть последнее сообщение здесь: https://www.bountysource.com/issues/31602800-git-fails-to-authenticate-access-to-private-repository-over-https
С более новым Git Bash открывается окно менеджера учетных данных, и вы можете ввести свое имя пользователя и пароль, и он работает!
Эта ошибка также может возникать при попытке клонировать неверный URL-адрес HTTP. Например, это ошибка, которую я получил при попытке клонировать URL-адрес GitHub с несколькими символами:
$ git clone -v http://github.com/username/repo-name.git
Cloning into 'repo-name'...
Username for 'https://github.com':
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/username/repo-name.git/'
На самом деле это произошло внутри Emacs, поэтому ошибка в Emacs выглядела так:
fatal: could not read Username for ’https://github.com’: No such device or address
Таким образом, вместо полезной ошибки, говорящей, что такого репо не было на этом URL-адресе, это дало мне это, отправив меня на дикую охоту за гусями, пока я наконец не понял, что URL-адрес неверен.
Это с git версией 2.7.4.
Я публикую это здесь, потому что это случилось со мной месяц назад и снова сейчас, снова отправив меня на ту же дикую гусиную погоню. > : (
Если вы хотите продолжить использовать https вместо ssh и избегать ввода имени пользователя и пароля по соображениям безопасности.
Вы также можете попробовать токен Github OAuth, тогда вы можете сделать
git config remote.origin.url 'https://{token}@github.com/{username}/{project}.git'
или
git remote add origin 'https://{token}@github.com/{username}/{project}.git'
Это работает для меня!
Замените свой удаленный URL-адрес следующим образом:
git remote set-url origin https://<username>@github.com/<username>/<repo>.git
Попробуйте использовать обычную оболочку Windows, такую как CMD.
Неустранимый: не удалось прочитать имя пользователя для " https://github.com ": нет ошибки
Я просто использовал git для клонирования
$ git clone -v http://github.com/username/repo-name.git
Cloning into 'repo-name'...
Username for 'https://github.com':
Password for 'https://github.com':
Это нормально, теперь 👌.
Для меня ничего не получилось из предложенного выше, я использую git pull
из сценария оболочки jenkins и, очевидно, он принимает неправильное имя пользователя. Я потратил целую вечность, прежде чем нашел способ исправить это, не переключаясь на SSH.
В вашей пользовательской папке создайте файл .gitconfig (если у вас его еще нет) и введите свои учетные данные в следующем формате: https://user:[email protected]
, дополнительная информация. После ссылки вашего файла .gitconfig на эти учетные данные, в моем случае это было:
[credential] helper = store --file/Users/admin/.git-credentials
Теперь Git всегда будет использовать эти учетные данные, несмотря ни на что. Я надеюсь, что это поможет кому-то, как это помогло мне.
Я нашел свой ответ здесь:
отредактируйте ~/.gitconfig
и добавьте следующее:
[url "[email protected]:"]
insteadOf = https://gitlab.com/
Хотя это решает другую проблему, код ошибки тот же...
попробовав решение CreativeMagic, подтверждается учетная информация:
prompt → > Имя пользователя для https://github.com '
Итак, я изменил свой исходный url с помощью
git remote set-url --add origin http://github.com/user/repo
и
git push --set-upstream origin master