TL; DR
Вам необходимо изменить учетные данные . Начните с ответа VonC здесь .
Что происходит
Обратите особое внимание на URL здесь:
... невозможно получить доступ к https://github.com/...
1015 *
Начните с этого: git push
не использует ваш настроенный user.email
! Он использует предоставленный вами URL-адрес, обычно через удаленное имя, например origin
: есть параметр remote.origin.url
, содержащий URL-адрес.
Сам URL начинается с одного из различных имен «схем», например ssh://
или https://
. После двойной косой черты имя хоста - технически это может включать user:password@host.dom.ain
, но не делайте этого; самое большее, введите user@host.dom.ain
- а затем остальная часть строки будет предоставлена от до этого хоста. Или вы можете использовать git@github.com:path/to/repo
, что сокращенно от ssh://git@github.com/path/to/repo
.
Поскольку вы специально запросили https
, Git получит имя пользователя и пароль от помощника по учетным данным . Конкретный помощник по учетным данным, который использует Git, зависит от многих вещей. Наиболее важными по порядку являются эти два:
Какая у вас ОС? В Windows есть специальные помощники для учетных данных Windows, в OS X есть помощники на основе osx-цепочки для ключей, а в других есть помощники store
и cache
.
Какую версию Git вы используете? Почти все современные версии намного лучше, чем древние, но все еще существуют некоторые древние (1.7 и более ранние 1.8) версии Git.
Подробнее о помощниках по учетным данным при использовании HTTPS см. Есть ли способ пропустить ввод пароля при использовании https: // на GitHub? Замечу, что вы добавили :
вот еще одна странная вещь: я могу использовать Windows-клиент Github, но не могу использовать графический интерфейс Git.
Это означает, что вы используете Windows (чего я избегаю ...). Очевидно, что их клиент Github для Windows использует помощник по учетным данным, отличный от графического интерфейса Git.
Я предпочитаю использовать SSH, что означает, что я настроил свои ssh-ключи и настроил свой URL на использование ssh://git@github.com/...
. При использовании SSH GitHub завершает поиск открытого ключа 1065 *, который ваш SSH-клиент - другими словами, ваш Git, отправляет для поиска , который подключается , а затем использует его, чтобы решить, кто вы и можете ли вы получить доступ к этому хранилищу.
Так где ваш user.email
привыкнет?
Как только ваш Git авторизуется и успешно общается с другим Git на GitHub, ваш Git затем нажимает commits . Сами коммиты, которые вы уже сделали, в какой-то момент задолго до того, как вы запустили git push
, содержат строки, полученные из ваших настроек user.name
и user.email
.
Это git commit
, а не git push
, который использует настройки user.name
и user.email
. Это просто настройки конфигурации, а не учетные данные.
Другими словами, к тому времени, когда вы запустите git push
, это будет уже намного позже того времени, когда Git просматривал ваши настройки user.email
. То, что вы установили сейчас, больше не имеет значения. То, что вы установили в прошлом, имеет значение тогда и только тогда, когда вы нажимаете некоторые коммиты, которые использовали его настройку.