Так что каждый раз, когда я ничего не делаю с git, меня выгоняют. Затем, когда я пытаюсь отправить что-нибудь в репо, я получаю:
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repo/'
Затем мне нужно выполнить все виды команд, которые я нахожу в Интернете, чтобы вернуться и пройти аутентификацию. И одна процедура не всегда срабатывает, поэтому каждый раз мне приходится пробовать "вещи", пока г-н. git решает впустить меня снова.
У меня вопрос: есть ли стандартный рабочий процесс для этой ситуации?
Мой файл конфигурации в порядке, источник репозитория настроен правильно. Я удалил и origin и поставил обратно. В основном я делал все из других сообщений, но все еще получаю сообщение об ошибке.
Это случилось однажды (что я не смог решить), и я просто сдался, удалил папку .git и снова сделал git init. Разве не было бы очень легко получить git login?
Поскольку я начинаю по-настоящему ненавидеть git, я думаю об использовании другой системы контроля версий (если для этой проблемы нет простого решения). Для того, что я делаю (просто подталкиваю и вытаскиваю пару файлов в день) ...
Почему политика аутентификации github заставляет вас ненавидеть git? У вас проблема с конкретным хостинг-сайтом, а не с самим инструментом SCM.
вы также можете попробовать сделать свой удаленный URL-адрес примерно таким: https://<username>@github.com/username/repo таким образом, если кеширование не удастся, он просто запросит ваш пароль, и вы сможете продолжить движение. Переход на SSH - это реальное решение, которое упрощает работу с репозиториями git, размещенными на другом ПО.
Я предполагаю, что вы одновременно используете учетные записи два GitHub, тогда Git Credential страдает.
@Useless Потому что git должен быть более удобным для пользователя, а именно с github, а это не так. Я не люблю тратить свое время, и я определенно не хочу становиться экспертом в git (на данном этапе моей жизни) для пользователя, которого я ему даю. Итак, Меркуриал - следующая игрушка, которую стоит попробовать.
Это не критика (я понятия не имею, с какими еще ограничениями вы работаете), но многие разработчики IME считают, что SCM должен быть простым, отказываются тратить усилия на его хорошее изучение, и это вызывает множество проблем, которых можно избежать. Если вы переключитесь на Mercurial и также откажетесь от него при первой же сложности, у вас будет два инструмента, которыми вы можете плохо пользоваться, а не один, который вы можете использовать хорошо.
Я определенно не сдаюсь при первой трудности. Но я ожидаю, что вспомогательные инструменты мне не помешают.





Итак, проблема заключалась в том, что было два аккаунта, как предложил Гено Чен. Похоже, что я сделал быстрый старт на Google Cloud Platform (где у меня другая учетная запись), у меня был файл gcloud.sh для учетных данных, и он мешал моей обычной учетной записи.
Я удалил все из командной строки, выполнив git config --global --unset credential.helper, и, похоже, это не сработало.
Я вручную отредактировал файл .gitconfig и удалил строки, в которых помощник под учетными данными не был удален. Хотя это странно. После выполнения упомянутой выше команды для удаления помощников по учетным данным в моем файле конфигурации все еще были следующие строки:
[credential]
helper = credential-gcloud.sh
В любом случае, теперь это работает, мне все еще не нравится git, и теперь у меня есть еще один способ решить эту же проблему.
Вы читали Кеширование пароля GitHub в Git или пробовали использовать SSH?