git: 'credential-cache' не является командой git

264

Я следовал этим инструкциям к письму, включая часть о кешировании паролей. Кажется, что инструкции неверны, потому что каждый раз, когда git push origin masterя получаю эту ошибку:

git: 'credential-cache' is not a git command. See 'get --help'.

... с этого момента я вынужден ввести свое имя пользователя и пароль. После этого мне снова выдается то же сообщение об ошибке, а затем вывод git push.

Вот содержимое моего файла .gitconfig:

[user]
    name = myusername
    email = myusername@myemaildomain.com
[credential]
    helper = cache

Чтобы было ясно, после того, как я установил Git и запустил Git Bash, вот что я набрал:

git config --global user.name "myusername"
git config --global user.email "myusername@myemaildomain.com"
git config --global credential.helper cache

Пожалуйста помоги. Это так расстраивает!

Big McLargeHuge
источник
53
Чтобы удалить сообщение "git: 'credential-cache' не является командой git.", Запустите "git config --global --unset credential.helper", затем вы можете следовать приведенным ниже инструкциям.
Уоллес Келли
5
@Wall +1 Спасибо, ваша команда у меня сработала только после удаления --global.
Web_Designer
1
Вы также можете удалить сообщение, изменив файл .git / config вручную (т.е. удалите строки ниже [учетные данные])
tarikakyol
FWIW для тех , кто читает различные предложения Windows , ниже, git config credential.helper cache сделал для меня работа с Cygwin мерзавца версии 2.13.2.
Флэш Шеридан

Ответы:

323

Из блога я нашел :

«Этот [git-credential-cache] не работает для систем Windows, так как git-credential-cache связывается через сокет Unix».

Git для Windows

Поскольку msitgit был заменен Git для Windows, использование Git для Windows теперь является самым простым вариантом. Некоторые версии установщика Git для Windows (например, 2.7.4) имеют флажок во время установки, чтобы включить Git Credential Manager. Вот скриншот:

снимок экрана мастера установки Git For Windows 2.7.4

Все еще используете msysgit? Для версий msysgit 1.8.1 и выше

wincredБыл добавлен вспомогательный в msysgit 1.8.1. Используйте это следующим образом:

git config --global credential.helper wincred

Для версий msysgit старше 1.8.1

Сначала загрузите git-credential-winstore и установите его в каталог git bin.

Затем убедитесь, что каталог, содержащий git.cmd, находится в переменной среды Path. Каталог по умолчанию для этого: C: \ Program Files (x86) \ Git \ cmd в 64-разрядной системе или C: \ Program Files \ Git \ cmd в 32-разрядной системе. Простой способ проверить это - запустить командную строку и набрать git. Если вы не получите список команд git, значит, он настроен неправильно.

Наконец, запустите командную строку и введите:

git config --global credential.helper winstore

Или вы можете отредактировать ваш файл .gitconfig вручную:

[credential]
    helper = winstore

Сделав это, вы можете управлять своими учетными данными git с помощью диспетчера учетных данных Windows, который можно открыть с помощью панели управления Windows.

Нейт Кук
источник
4
gitcredentialstore.codeplex.com содержит часто задаваемые вопросы. Это помогло мне успешно установить winstore. Бинарный сбой, если вы не запускаете его из git-bash.
Руруський
8
К вашему сведению, мне пришлось установить с явными правами администратора. Без него я получаю сообщение об ошибке "git: 'credential-winstore' не является командой git. См. 'Git --help'". Мой .gitconfig теперь выглядит немного по-другому, с [строкой полномочий], имеющей «helper =!» C: \\ Users \\ Malachi \\ AppData \\ Roaming \\ GitCredStore \\ git-credential-winstore.exe ''
Малахи,
мой генерирует необработанное исключение и умирает - System.Diagnostics.Process.StartWithShellExecuteEx (ProcessStartInfo startInfo)
Эндрю
1
Есть ли причина, по которой они будут использовать сокеты Unix в многоплатформенном приложении? И если да, то почему git-credential-winstore не поставляется с версией Git для Windows по умолчанию?
Доми
3
Инструмент git-credential-winstore у меня не работает. Раньше, но внезапно меня везде подсказывают. Я проверил .git-config и диспетчер учетных данных Windows, и все, что должно быть. Это просто не работает, и я действительно понятия не имею, почему. :(
Крис Маккензи
30

Первый забег git config --global credential.helper wincred

Затем перейдите к: CONTROL PANEL\CREDENTIAL MANAGER\WINDOWS CREDENTIAL\GENERIC CREDENTIAL

затем нажмите добавить учетные данные в Internet or network address: add git:https://{username}.github.com

User: {название}

Password: {Пароль}

Ивандро Исмаэль Гомес Жао
источник
2
Диспетчер учетных данных находится в разделе «Учетные записи пользователей и безопасность семьи в Windows 7»
Кейси Мюррей,
1
СПАСИБО! Мне потребовался час, чтобы узнать, как исправить мой Диспетчер учетных данных Windows после изменения пароля моего домена. Святой мол, какой лабиринт.
SadBunny
3
%windir%\explorer.exe shell:::{1206F5F1-0569-412C-8FEC-3204630DFB70}из консоли также запустится диспетчер учетных данных.
Йерун Wiert Pluimers
1
Спасибо, моя проблема исправлена ​​:)
Diallo
21

Я столкнулся с этой проблемой при использовании AptanaStudio3 на Windows7. Это помогло мне:

git config --global credential.helper wincred

Код взят отсюда

Ikrom
источник
10

Теперь есть намного более простой способ настроить кэширование паролей Git, дважды щелкнув небольшой исполняемый файл в Windows. Программа по-прежнему основана на git-credential-winstoreупомянутом ответе, получившем наибольшее количество голосов, хотя проект был перемещен с GitHub на http://gitcredentialstore.codeplex.com/

Вы можете скачать exe (и бинарный файл для Mac) из этого поста в блоге: https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

Saheed
источник
Это ответ, который я искал. Microsoft начала поддерживать этот проект. Он хранит пароли в хранилище учетных данных Windows.
Гордолио
10

Похожая ошибка 'credential-wincred' is not a git command

Принятые и популярные ответы устарели ...

wincredдля проекта git-credential-winstore, который больше не поддерживается .

Его заменил Git-Credential-Manager-for-Windows, поддерживаемый Microsoft с открытым исходным кодом .

Загрузите релиз в виде zip-файла по ссылке выше и извлеките содержимое в

\cygwin\usr\libexec\git-core

(или \cygwin64\usr\libexec\git-coreкак это может быть)

Затем включите его (установив глобальный .gitconfig) - выполните:

git config --global credential.helper manager

Как пользоваться

Никаких дополнительных настроек не требуется.

Он работает [автоматически], когда необходимы учетные данные.

Например, при нажатии на DevOps Azure открывается окно и инициализируется поток oauth2 для получения вашего токена.

ссылка:

TT--
источник
8

Сначала найдите версию, которую вы используете для GIT.

используя эту команду: git --version

если у вас более новая версия, чем 1.7.10.

Затем просто используйте эту команду.

git config --global credential.helper wincred

Ссылка

Сириш Ярлагадда
источник
6

Ради других, кто сталкивался с этой проблемой, у меня была такая же проблема в Ubuntu (а именно, что мои пароли не кэшировались, несмотря на правильную настройку параметра и получение ошибки git: 'credential-cache' is not a git command.), пока я не узнал, что эта функция только доступно в Git 1.7.9 и выше .

Находясь в более раннем выпуске Ubuntu (Natty; я упрямый пользователь Gnome 2), версия в репозитории была git version 1.7.4.1. Я использовал следующий PPA для обновления: https://launchpad.net/~git-core/+archive/ppa

Johann
источник
1
Я все еще получаю git: 'credential-cache' is not a git command.даже после обновления до версии 2.8.2 в Windows, хотя кэш учетных данных работает! Я, вероятно, создал эту проблему с помощью какой-то git configкоманды раньше.
Баттл Буткус
1
Конфигурация @ButtleButkus git изменяет либо ~/.gitconfigлокальный .git/config, либо репозиторий , в зависимости от того, --globalбыл ли использован флаг. Посмотрите на эти два файла для чего-либо, связанного с учетными данными.
Иоганн
5

Ради других, у которых возникла эта проблема - я попал сюда, потому что я пытался изобразить то, как я настраивал новый репозиторий github, но на странице настройки помощник по учетным данным не работает, если вы не клонируете репозиторий.

«Совет. Помощник по учетным данным работает только при клонировании URL-адреса хранилища HTTPS. Если вместо этого используется URL-адрес хранилища SSH, ключи SSH используются для аутентификации. Это руководство предлагает помощь в создании и использовании пары ключей SSH».

Андрей
источник
4

Я исправил эту проблему, удалив credentialраздел из конфигурации конкретного проекта:

  • Просто набрал: git config -e
  • Внутри редактора я удалил весь раздел [credential] helper = cache.

Это удалило раздражающее сообщение:

git: 'credential-cache' is not a git command. See 'git --help'.

Пини Чейни
источник
1
Я пробовал много решений сверху, и это единственное, что сработало. Я просто зашел в свою папку .git, открыл файл конфигурации и удалил [credential] helper = global (я случайно установил его в «global»). Большое спасибо Пини Чейни.
Филип Савич
1
Я рад, что смог помочь
Пини Чейни
3

Я понимаю, что немного опоздал к разговору, но столкнулся с точно такой же проблемой. В моем git config у меня было две учетные записи…

В моем файле .gitconfig

[credential]
helper = cached
[credentials]
helper = wincred

Исправление: изменил мой файл .gitconfig на настройки ниже

[credential]
helper = wincred
[credentials]
helper = wincred
Джейсон Филлипс
источник
0

У нас возникла та же проблема с нашими хранилищами DevOps Azure после изменения нашего домена, то есть с @ xy.com на @ xyz.com. Чтобы решить эту проблему, мы создали новый личный токен доступа со следующими разрешениями:

Код: читать и писать Упаковка: читать

Затем мы открыли диспетчер учетных данных Windows, добавили новые общие учетные данные Windows со следующими данными:

Интернет или сетевой адрес: «git: { имя_проекта } @ dev.azure.com / { имя_проекта }» - в качестве альтернативы вы должны использовать здесь свое имя репозитория git.
Имя пользователя: «Персональный токен доступа»
Пароль: { Сгенерированный Персональный токен доступа }

После этого все наши операции с git снова работали. Надеюсь, это поможет кому-то еще!

DeveloperExceptionError
источник