Должен ли я удалить либо credential.helper = store, либо credential.helper = manager, чтобы каждый раз не вводить свои учетные данные? - PullRequest
0 голосов
/ 03 апреля 2020

Пока я не набираю код sh в моей учетной записи на github.

Сегодня, когда я пытался

git push -u origin master

, моя командная строка (Anaconda) попросила меня ввести имя пользователя и пароль для github

Ошибка входа в систему, используйте ctrl + c для отмены базового c запроса учетных данных.

Имя пользователя для 'https://github.com/': myusername

Пароль для 'https://myusername@github.com/':

Я набрал их, а затем на приглашение отреагировало:

неустранимый: невозможно получить блокировку хранилища учетных данных: файл существует

Я могу набрать sh код с нет проблем, но я бы предпочел, чтобы мне не приходилось каждый раз вводить свои имя пользователя и пароль.

Я немного выполнил поиск и обнаружил, что ошибка, с которой я столкнулся, отображается в этом thread , где предполагается, что ошибка вызвана наличием более чем одной credential.helper= строки кода в git конфигурациях. Также предлагается оставить только одну из этих строк, чтобы исправить ошибку.

Итак, набрав

git config --list

Я обнаружил, что у меня есть две строки кода credential.helper= в моем файле .git / config.
Одна находится в системном config файле, а другая - в глобальном config файл

git config --list --system

credential.helper = менеджер

git config --list --global

credential.helper = store

Но в моем .git / config file Я не могу найти ни одной строки, начинающейся с credential.helper=.

Так, где я могу найти эти строки?

И я должен удалить либо credential.helper=store, либо credential.helper=manager чтобы не вводить мои учетные данные каждый раз?

1 Ответ

0 голосов
/ 04 апреля 2020

В вашем домашнем каталоге есть застрявший файл .git-credentials.lock. Вероятно, он содержит ваш пароль в виде открытого текста, поэтому вы должны удалить его.

git-credential-store:

Использование этого помощника сохранит ваши пароли в незашифрованном виде на диске, защищен только разрешениями файловой системы. Если это неприемлемый компромисс в отношении безопасности, попробуйте git -credential-cache или найдите помощника, который интегрируется с безопасным хранилищем, предоставляемым вашей операционной системой.

Вам следует придерживаться предоставленной ОС manager.

Вы можете показать, из какого файла поступает параметр, используя параметр --show-origin git config.

Но вы также можете удалить его с помощью команды git config --unset --global credential.helper.

...