Ответ 1
Существует некоторая проблема (если используется https), если имя пользователя содержит "некоторые" специальные символы.
My repo: https://[email protected]/shadyabhi/learnajax.git
[email protected] ~/github/learnajax $ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://[email protected]/shadyabhi/learnajax.git
fetch = +refs/heads/*:refs/remotes/origin/*
[email protected] ~/github/learnajax $ git config -l
user.name=shadyabhi
[email protected]
merge.tool=vimdiff
github.token=1095de7027bVVVV01cfAAAAAa5fc8f6
color.ui=auto
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://[email protected]/shadyabhi/learnajax.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
[email protected] ~/github/learnajax $ git push -u origin master
Password:
fatal: Authentication failed
[email protected] ~/github/learnajax $
Теперь я не могу надавить на свое репо. Я проверил github.token так же, как и мои настройки учетной записи. Ofcoarse, я вводил правильный пароль, но я получаю эту ошибку.
Существует некоторая проблема (если используется https), если имя пользователя содержит "некоторые" специальные символы.
У меня была аналогичная проблема, которая подталкивала мое происхождение к правильному пользователю и паролю. Оказалось, что я включил двухфакторную аутентификацию и забыл. Если вы включили двухфакторную аутентификацию, вам нужно будет создать пароль для конкретного приложения, чтобы нажать на свое репо. https://help.github.com/articles/creating-an-access-token-for-command-line-use
Как я понимаю, github.token
(и github.user
) не используются транспортером git HTTP - они существуют только для других инструментов, которые используют API GitHub, такие как GitX и GitNub.
Я думаю, что ошибка "Ошибка аутентификации" должна произойти из-за ввода неправильного пароля. (Это должен быть ваш пароль GitHub, а не пароль для вашего личного ключа SSH.)
У меня уже такая же проблема. По-видимому, когда вы используете git в командной строке, он хочет, чтобы вы вводили токен доступа вместо пароля. Это действительно странно, но оно работает.
$ git push origin HEAD
Username for 'https://github.com': <--- your username here
Password for 'https://[email protected]': <--- access token here O_O
PS: Это инструкция по созданию токена: https://help.github.com/articles/creating-an-access-token-for-command-line-use
У меня была такая же проблема, как описано выше. Пароли с #
, ¤
или "
, похоже, не работали, что бы я ни пытался.
Кажется, это более или менее аналогичная проблема с порталом Microsoft Office 365, где вы не можете использовать ex. ¤
в пароле, если вы собираетесь использовать мобильные устройства.
Вход в Github отлично работает со всеми паролями, в Интернете... но с использованием любого клиента это не так.
Если ваш пароль содержит специальные символы, git push
не будет работать в терминале. Мое обходное открытие открыто emacs
и do git push
внутри eshell
.
если ваше имя пользователя или пароль имеют специальные символы, вы можете заменить его закодированным
например, если ваш пароль "test @2010", вы будете записывать его как "test% 402010", и команда config будет выглядеть так:
git config remote.origin.url https://{username}:test%[email protected]/{repo_username}/{repo_name}.git