Подтвердить что ты не робот

Ошибка GitHub для Mac: git: 'credential-osxkeychain' не является командой git

При использовании приложения GitHub для Mac (версия 87) я получил следующую ошибку:

git: 'credential-osxkeychain' не является командой git. См. "git --help".

Ошибка: запрашиваемый URL-адрес возвратил ошибку: 403 при доступе к https://github.com/[PROJECT URL]/info/refs

фатальный: сбой HTTP-запроса (256)

Инструменты командной строки git (версия 1.8.0) установлены в /usr/local/git/bin и git -credential-osxkeychain правильно установлены на /usr/local/git/bin.

Как я могу решить эту ошибку?

4b9b3361

Ответ 1

Источником этой проблемы является то, что GitHub для Mac использует другой путь каталога для своих исполняемых файлов, чем средства командной строки.

GitHub для Mac:/Applications/GitHub.app/Contents/Resources/git/bin

Инструменты командной строки:/usr/local/git/bin/

Итак, когда GitHub для Mac пытается синхронизировать ветвь, она представляет ошибку, потому что не может найти исполняемый файл git -credential-osxkeychain.

Чтобы решить проблему:

  • Запуск терминала
  • Создайте символическую ссылку для git -credential-osxkeychain из Инструменты командной строки Dir в GitHub для Mac Dir

ln -s <git-command-line-tools dir path>/git-credential-osxkeychain <github for mac path>/git-credential-osxkeychain

Это команда, которую я использовал в своей системе:

ln -s /usr/local/git/bin/git-credential-osxkeychain /Applications/GitHub.app/Contents/Resources/git/bin/git-credential-osxkeychain

Ответ 2

enter image description here

Когда я пытался запустить эту команду, не было ошибки

brew untap homebrew/homebrew-dupes

Ответ 3

это всегда происходит с приложением исходного дерева и решением, которое вы изменяете для использования системы git, а не встроенного git с исходным деревом, потому что исходное дерево использует более старую версию или вы можете обновить настройки с помощью пути к исполняемому файлу git, и вы должны найти его в /usr/bin/ git, или вы можете распечатать, какой git и указать, чтобы ваше приложение исходного дерева использовало его

Ответ 4

Мне пришлось сделать sudo ln -s /usr/local/git/bin/git-credential-osxkeychain /usr/bin/git-credential-osxkeychain, потому что я обновил git, а затем скопировал /usr/local/ git/bin/git в/usr/bin/git

Ответ 5

http://backlogtool.com/git-guide/cn/reference/trouble-shooting.html

HTTPS требует пароли каждый раз, когда вы выполняете push/pull, если вы Windows, только в первый раз

но в Mac вы можете использовать помощника аутентификации, связанного с цепочкой ключей. Пользователи, использующие Homebrew, автоматически устанавливают помощников для аутентификации при установке Git. Кроме того, вам нужно установить вручную.

Если вы хотите убедиться, что у вас есть помощник по сертификации установки, вы можете использовать следующую команду для подтверждения.

git credential-osxkeychain

Если помощник по аутентификации не установлен, отображается следующее содержимое.

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

На этом этапе вы можете скачать помощник по аутентификации по правильному пути.

  1. curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
  2. chmod u+x git-credential-osxkeychain
  3. mv git-credential-osxkeychain/usr/local/bin

После установки установите открытый помощник аутентификации.

  1. git config --global credential.helper osxkeychain

Ответ 6

Настройка

/USR/локальные/git/bin/git -credential-osxkeychain

в вашем пути также работает или везде, где может быть ваш путь.

Я не уверен, какое решение предпочтительнее.

Ответ 7

После этого с одним из моих коллег мы смогли решить, просто обновив SourceTree до последней версии.

Для будущих зрителей, прежде чем идти по пути символической ссылки, убедитесь, что у вас есть автоматические обновления для дерева исходных кодов (предпочтения → вкладка обновления), а затем проверьте наличие обновлений (в меню исходного дерева на маках)

Ответ 8

Попробуйте: git config --global credential.helper git

Ответ 9

git: 'credential-osxkeychain' is not a git command. See 'git --help'. это сообщение об ошибке исчезло после того, как я обновил git, с

brew upgrade git

==> Upgrading 1 outdated package:
git 2.11.1 -> 2.21.0

Ответ 10

Если вы столкнулись с этой проблемой при использовании brew update, попробуйте

brew update --debug --verbose

Вы можете увидеть подробный журнал и найти реальную причину.