#git #github #windows-subsystem-for-linux
#git #github #windows-subsystem-for-linux
Вопрос:
Я использую ubuntu 20.04 в Windows 10 с WSL2. В последнее время мне трудно работать с git push origin
моим репозиторием. Он всегда возвращает эту ошибку
/mnt/c/Программа Files/Git/mingw64/libexec/git-core/git-credential-manager.exe получаем: 1: /mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager.exe : не найдено
После того, как он запрашивает мое имя пользователя и пароль на github, он по-прежнему возвращает указанную выше ошибку с добавлением «Все обновлено«.
/mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager.exe магазин: 1: / mnt/ c/ Program Files/Git/mingw64/libexec/git-core/git-credential-manager.exe : не все найдено в актуальном состоянии
Я пробовал это решение ниже, но оно также не работает.
git config —global credential.helper «/mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager.exe «
Как мне исправить эту проблему, пожалуйста?
Комментарии:
1. Установите git на сам wsl вместо того, чтобы полагаться на git для Windows. Кроме того, вы недавно установили обновление git, которое добавило ядро Credential Manager? В этом случае вам может потребоваться настроить глобальную конфигурацию git в WSL, чтобы вызывать ее вместо старого менеджера учетных данных.
2. Спасибо за ответ. Да, я фактически установил git на сам wsl. Из wsl ubuntu в терминале Windows я могу получить доступ
git
, но я не могу получить к нему доступ из powershell. И при использованииsudo apt-get install git
в терминале Windows возвращает> git уже самую новую версию (1: 2.25.1-1ubuntu3). Вчера я обновил и обновил ubuntu. Я действительно не знаю, является ли это причиной проблемы.3. Проверьте настройки среды path, чтобы убедиться, что сначала она находит WSL.
4. Пожалуйста, как мне проверить параметр среды path?
Ответ №1:
Запуск от имени WSL2/root :
file=/usr/bin/git-credential-manager
echo 'exec "/c/Program Files/git/mingw64/libexec/git-core/git-credential-manager.exe" $@' > $file
chmod x $file
затем запустите как обычный пользователь (например, ubuntu).
cat << EOF >> ~/.gitconfig
[credential]
helper = manager
EOF
Комментарии:
1. Я сделал именно так, как вы советовали, он все равно выдавал ошибку при попытке
git push origin
. Мне пришлось активировать ssh в ubuntu и github, чтобы посмотреть, сработает ли это. Он не вернул ошибку, но «Все обновлено». Итак, я предположил, что допустил некоторые ошибки. Проверяяgit status
, я заметил, что я не установил и не зафиксировал некоторые файлы. Я сделал и попробовалgit push origin
еще раз… Виола, он, наконец, зафиксирован без ошибок. Спасибо за вашу помощь @jessehouwing Спасибо и за вашу помощь.2. Я проголосовал за ваш ответ дюжину раз, но, похоже, он возвращается к 0 голосам. Я новичок в этой платформе, так что не обращайте внимания на мое невежество.
3. Мне пришлось изменить путь для git-credential-manager.exe в /mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager.exe .
4. Эта рекомендация, которая является небольшим изменением приведенного выше ответа, сработала для меня: docs.microsoft.com/en-us/windows/wsl/tutorials /… В двух словах:
git config --global credential.helper "/mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"
5. Мой WSL2 Ubuntu 20.04.4 выглядел примерно так
/mnt/c/Program Files/Git/mingw64/bin/git-credential-manager-core.exe get: 1: /mnt/c/Program Files/Git/mingw64/bin/git-credential-manager-core.exe: not found
и был решен путем запускаgit config --global credential.helper store
.