Когда я пытаюсь извлечь код с помощью git Bash в Windows, у меня возникает следующая проблема:
fatal: could not read Username for 'https://github.com': No such file or directory
Я уже пытался реализовать принятое решение, представленное здесь:
... но проблема не устранена. После добавления / удаления происхождения я все еще получаю ту же ошибку.
git config --global user.name "Your Name Here"
Ответы:
Следуйте инструкциям по настройке ключей SSH здесь: https://help.github.com/articles/generating-ssh-keys
ИЛИ
источник
git remote set-url origin https://{username}:{password}@github.com/...
git remote -v
error: cannot spawn sh: No such file or directory
сообщение ...Я столкнулся с той же проблемой. Эта проблема возникла, когда я клонировал с использованием URL-адреса HTTPS, а затем попытался отправить изменения с помощью Git Bash в Windows, используя:
Однако, когда я использовал URL-адрес SSH для клонирования, этой проблемы не возникло:
источник
python:3.7-slim
. Так что это не связано с Windows.Для меня ничего не
git pull
получилось из предложенного выше, я использую сценарий оболочки jenkins, и, по-видимому, он принимает неправильное имя пользователя. Я потратил много времени, прежде чем нашел способ исправить это без перехода на SSH.В папке пользователя создать .gitconfig файл (если у вас его нет уже) и поставить свои учетные данные в следующем формате:
https://user:pass@example.com
, больше информации . После ссылки на ваш файл .gitconfig на эти учетные данные в моем случае это было:[credential] helper = store --file /Users/admin/.git-credentials
Теперь git всегда будет использовать эти учетные данные, несмотря ни на что. Надеюсь, это кому-то поможет, вроде помогло мне.
источник
[credential] helper = store --file /..../.git-credentials
в.git/config
в моем рабочем каталогеОбратите внимание: если вместо этого вы получаете эту ошибку:
Затем вам нужно обновить Git до версии
2.16
или более поздней.источник
Я нашел здесь свой ответ :
отредактируйте
~/.gitconfig
и добавьте следующее:Хотя он решает другую проблему, код ошибки тот же ...
источник
Если вы хотите продолжить, используйте 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-адрес HTTP. Например, это ошибка, которую я получил при попытке клонировать URL-адрес GitHub, в котором было несколько символов:
На самом деле это произошло внутри Emacs, поэтому ошибка в Emacs выглядела так:
Поэтому вместо полезной ошибки о том, что такого репо по этому URL-адресу нет, он дал мне это, отправив меня в погоню за дикими гусями, пока я, наконец, не понял, что URL-адрес неверен.
Это с git версии 2.7.4.
Я публикую это здесь, потому что это случилось со мной месяц назад и снова только сейчас, снова отправляя меня в ту же погоню за дикими гусями. > :(
источник
Короткий ответ:
Игнорируйте первые три строки, если это не новый репозиторий.
Более подробное описание:
У меня была такая же проблема, поскольку ни один из приведенных выше ответов мне не помог, я решил опубликовать это решение, которое сработало для меня.
Несколько заметок:
В качестве инструмента командной строки я использовал GitShell (для Windows я использую Terminal.app на Mac).
GitShell - официальный инструмент GitHub, его можно загрузить с https://windows.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 появляется окно диспетчера учетных данных, и вы можете ввести свое имя пользователя и пароль, и оно работает!
источник
Это проблема с вашими учетными данными, хранящимися в системном кеше учетных данных. Вероятно, у вас есть конфигурационная переменная credential.helper, установленная на wincred или winstore, и ее не удается очистить. Если вы запустите панель управления и запустите апплет Credential Manager, найдите элементы в разделе общих учетных данных с надписью «git: https://github.com ». Если вы удалите их, в следующий раз они будут созданы заново, но вспомогательная утилита учетных данных запросит у вас новые учетные данные.
источник
git config --global -l | grep credential
. Если есть какие-то выходные данные, это будет утилита, которая пытается передать ваши сохраненные учетные данные на сервер при нажатии.git remote add origin https://github.com/username/Hello-World.git
username
Замените удаленный URL следующим образом:
источник
TL; DR: проверьте, можете ли вы читать / писать в
/dev/tty
. Если нет, и вы использовалиsu
для открытия оболочки, проверьте, правильно ли вы ее использовали.Я столкнулся с той же проблемой, но в Linux, и я нашел проблему. У меня нет сохраненных учетных данных, поэтому я всегда ввожу их по запросу:
Как git обрабатывает http (s) соединения,
/usr/lib/git-core/git-remote-https
вы можете увидеть здесь:Поэтому я попытался назвать это напрямую:
и результат:
И вот оно пришло ко мне:
git-remote-https
пытается прочитать учетные данные через,/dev/tty
поэтому я проверил, работает ли это:Но в другом терминале:
Я знал, что переключился на этого пользователя,
su
поэтому я вышел из оболочки, чтобы посмотреть, как и узнал, что использую команду,su danman -
поэтому снова протестировал ее:Я, вероятно, проигнорировал сообщение и продолжил работу, но это было причиной. Когда я переключился на правильный,
su - danman
все работало нормально:После этого git начал работать правильно
источник
Для тех, кто получает эту ошибку в конвейере Jenkins, ее можно исправить с помощью подключаемого модуля SSH Agent . Затем оберните свои команды git примерно так:
источник
пробуя решение CreativeMagic, проблема с учетными данными подтверждается:
подскажите >>> Имя пользователя для « https://github.com »
Итак, я изменил свой исходный URL на
а также
источник
Попробуйте использовать обычную оболочку Windows, например CMD.
источник
Ранее, когда мне не было предоставлено разрешение на доступ к репо, я также добавил ключ SSH pubkey в gitlab. В тот момент я мог получить доступ к репо и запустить поставщик модов, та же проблема, что и у вас. (возможно из-за кеша)
После некоторой попытки я решил удалить ключ SSH и подсказки терминала для ввода имени пользователя и пароля. Тогда все нормально!
источник
Что сработало для меня, так это изменить доступ к репозиторию Git с частного на публичный.
источник