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

Невозможно вытащить/вставить в репозиторий git

$ git pull origin master
fatal: unable to access 'https://xxxxxxxxxxxxxxx': 
      error setting certificate verify locations:
CAfile: C:/Users/abc/AppData/Local/Programs/Git/usr/bin/curl-ca-bundle.crt
CApath: none

Я получаю эту ошибку, когда я вытягиваю или нажимаю свой код.

Пожалуйста, помогите мне исправить это.

4b9b3361

Ответ 1

Мне также пришлось столкнуться с этой проблемой в Windows и запустить git с помощью gitbash. Я просто переустановил gitbash, и gitbash автоматически управлял сертификатом git и его путь.

Ответ 2

При использовании https вам необходимо указать пароль или использовать сертификат. В вашем случае похоже, что сертификат не является допустимым.

Попробуйте сделать это, указав git, где найти сертификат:

// Add the certificate to your configuration file
git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

В качестве альтернативы вы можете отключить проверки SSL:

// or switch off SSL checks completely by executing:
git config --system http.sslverify false

Установите это в своей конфигурации, чтобы отключить его только для заданного URL-адреса, а не для всех запросов

[http "https://weak.example.com"]
    sslVerify = false

http.sslVerify

Следует ли проверять сертификат SSL при извлечении или нажатии HTTPS.


http.sslCAInfo

Файл, содержащий сертификаты для проверки партнера с извлечением или нажатием HTTPS

Ответ 3

У меня была такая же проблема. Моя проблема возникла после переустановки git для окон. Я использую git для Windows 64-бит в Windows 10.

Я узнал, что установщик больше не установил git в C:/Users/[USER_NAME]/AppData/Local/Programs/Git. Вместо этого он установил его под C:\Program Files\Git.

Тем не менее старый файл конфигурации C:\ProgramData\Git\config не был отредактирован установщиком. Этот файл по-прежнему содержит старый путь, поэтому я отредактировал его вручную.

например. в моей системе я использовал

[http]
     sslCAInfo = C:/Programme/Git/mingw64/ssl/certs/ca-bundle.crt

возможно, вам придется использовать Program Files вместо

     sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

ИЗМЕНИТЬ

Как DS в своем комментарии

C:\ProgramData\Git\config необходимо отредактировать как администратор.

например. щелкните правой кнопкой мыши на блокноте и выберите "Запуск от имени администратора" , затем откройте файл.

Ответ 4

В версии 2.x git - bash Путь к .crt изменился на.. /Git/mingw64/ssl/certs/ca-bundle.crt. Я должен был обновить это вручную в git - bash с помощью

 git config --global http.sslcainfo "/path/to/Git/mingw64/ssl/certs/ca-bundle.crt"

Ответ 5

Попробуйте это

git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

или

Отключите свой SSL, выполнив эту команду

git config --system http.sslverify false

Ответ 6

 git config --global http.sslverify "false" 
  • решит проблему  после этого появится всплывающее окно для ввода имени пользователя и пароля  убедитесь, что действительны.

Ответ 7

Если ваша версия git - 2.8.1.windows.1, это может вам помочь. Во-первых, вам нужно найти домашний каталог git, мой D:\SDK\Git. В том же каталоге вы можете найти папку "usr", откройте ее и перейдите в \ssl\certs, вы можете найти сертификат: ca-bundle.crt.

Затем откройте консоль, выполните:
git config --system http.sslcainfo "D:\SDK\Git\usr\ssl\certscabundle.crt"

Ответ 8

Это будет работать при перемещении из GIT 2.x клиентов в 2.5.x:

Похоже, что после установки новой версии клиента GIT он меняет путь, по которому он ищет сертификаты, из следующего:

C:\Program Files\Git\mingw64

примерно так:

C:\Program Files\Git\mingw64\libexec

Чтобы исправить это, просто скопируйте папку "ssl" в новое место, и это будет работать как прелесть!

Ответ 9

Перейдите в каталог git и переместите папку mingw64/ssl в mingw64/libexec/ssl.

Ответ 10

Для будущих читателей:

У меня возникла эта проблема после установки пакетов devel на cygwin.

Я перепробовал все исправления в этой теме, но ничего не получалось

Затем я столкнулся с этой веткой на github

Я обнаружил, где в gitconfig указывается CAPATH, и удалил эту спецификацию https, и это решило мою проблему.

Ответ 11

У меня такая же проблема после моего последнего обновления cygwin после установки Windows 10. Не удалось выполнить команду update-ca-trust во время установки.

Похоже, что владелец группы для папки сертификата был поврежден. Несколько радикальным решением было удалить /etc/group, оказалось, что cygwin может напрямую запрашивать окна о правах группы.

Решение найдено на http://zaunerc.blogspot.se/2016/01/cygwin-mapping-windows-sids-to-posix.html

Ответ 12

Я нашел сертификат ssl по адресу:

C:\Users\[USERNAME]\AppData\Local\GitHub\PortableGit_[portable code]\usr\ssl\certs

то вы можете следовать решению CodeWizard i.e.:

// Add the certificate to your configuration file
git config --system http.sslcainfo "[LOCATION_SPECIFIED_ABOVE]/cabundle.crt"

Ответ 13

В текущей сборке Git для Windows (2.18.0.windows.1) есть ошибка - если http.sslcainfo не установлен, он ожидает найти хранилище сертификатов в C:/Program Files/Git/mingw64/libexec/ssl/certs/ca-bundle.crt.

Хранилище сертификатов фактически установлено в C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt, поэтому для исправления необходимо указать правильный путь.

Кроме того, реализация SCHANNEL также нарушена в этой сборке.

Наконец, диспетчер учетных данных Git также не работает, потому что если у вас есть учетные данные CI/CO, сохраненные из установки gitlab-runner, он не сможет клонировать /push/pull с ошибкой доступа, вместо того, чтобы запрашивать другие учетные данные.

Ответ 14

Используя Intellij и git -sdk-64, и сначала выбрал git-sdk-64\mingw64\bin\git.exe, чтобы получить эту проблему, а затем при переключении на git-sdk-64\cmd\git.exe он вычислил расположение файла сертификата отдельно, и никакая другая конфигурация не нужна. (не использовали git config --global http.sslcainfo ...)

Ответ 15

Я нашел следующие шаги, которые полезны при устранении проблемы на моем конце для Windows 10:

Выполнение удаления git.

Однако утилита git не выполняет чистую работу. Поэтому вам может потребоваться удалить каталог git в C:\Users [My name]\AppData\Local\Programs\

После этого новая установка git должна установить его установить в каталог C:\Program Files\Git, на который указывает файл конфигурации, чтобы прочитать сертификат ssl.

Ответ 16

У меня была такая же ошибка, и я исправил ее переустановку git в пути по умолчанию:

C:\Program Files\Git

Что все

Ответ 17

У меня такое же сообщение об ошибке, но в моем случае это было потому, что я изменил настройки github, чтобы использовать ssh вместо https.

И репозиторий с проблемой был клонирован с https после удаления удаленного и повторного добавления его с ssh, который работает как ожидалось.

$git remote remove origin
$git remote add origin [email protected]:UserName/repo.git

Затем git remote show origin правильно показывает пульт.

Ответ 18

Я получил ту же ошибку в Windows 7. Установил, что путь сертификата, упомянутый в ошибке, не существует. Вместо... \mingw32\usr\ssl... файл cert находился в... \mingw2\ssl... Поэтому я создал папку usr вручную и переместил все дерево ssl в usr. Это устранило проблему.

Ответ 20

Я столкнулся с тем же сообщением об ошибке, но, клонируя репозиторий github, к сожалению, установка http.sslcainfo не очень помогла. Так как я оказался за корпоративным прокси-сервером, настройка http.proxy исправила это для меня.

Ответ 21

В этой теме много ответов слепых, ведущих, слепых. Я просто еще один слепой человек, но у меня была та же проблема, и я решил ее, следуя этой простой статье. Как я понимаю первоначальный вопрос, git пытается найти файл сертификата SSL для использования протокола HTTPS и не может найти файл. Похоже, что большинство ответов здесь сосредоточены на том, что "просто отключите SSL", а не на правильной замене файла.

Это заклинание должно сгенерировать файл сертификата и поместить его в правильное место для git на cygwin:

$ curl -sL http://ca.pdinc.us > /etc/pki/ca-trust/source/anchors/ca.pdinc.us.pem \
&& update-ca-trust

Если вы настроили свой git config (как я), и вам нужно установить его НАЗАД, это должно быть сделано:

$ git config --global http.sslcainfo "/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt"

Еще одно замечание, которое может повлиять на многих людей, читающих эту ветку: ожидаемое расположение файла сертификата зависит от того, какой исполняемый файл git вы используете. Поскольку мы говорим о Cygwin, некоторые (большинство?) Из нас, вероятно, также имеют встроенный в Windows вариант git. Если ваши пути Cygwin настроены для поиска исполняемого файла Windows git, ваш пробег может отличаться в зависимости от того, куда указывать конфигурацию http.sslcainfo. Чтобы проверить, какой исполняемый файл выбирается для вас:

$ which git

Ответ 22

У меня похожая проблема, но удаление gitbash и переустановка в систему, работало для меня.