Github: मेरी निजी रिपॉजिटरी को क्लोन करने में त्रुटि


155

मैं https-URL का उपयोग करके अपने GitHub प्रोजेक्ट को क्लोन करने की कोशिश कर रहा हूं, लेकिन यह एक त्रुटि के साथ विफल रहता है:

$ git clone https://foo@github.com/foo/foo-private.git
Cloning into foo-private...
Password:
error: error setting certificate verify locations:
  CAfile: /bin/curl-ca-bundle.crt
  CApath: none
 while accessing https://foo@github.com/foo/foo-private.git/info/refs

fatal: HTTP request failed

मैं क्या गलत कर रहा हूं?

जवाबों:


289

मैंने इसे विंडोज पर देखा है, जिसमें msysgit 1.7.2.3 है। आपको बिन / कर्ल-कॉड-बंडल के पथ को ठीक करना होगा । मुझे बैक-स्लैश का उपयोग करते हुए पूर्ण पथ निर्दिष्ट करना पड़ा:

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

या - वास्तव में अनुशंसित नहीं है - आप SSL चेक को पूरी तरह से निष्पादित करके बंद करना चुन सकते हैं:

git config --system http.sslify को गलत

दोनों ही मामलों के लिए, यह [git-install-dir] / etc / gitconfig फ़ाइल में परिवर्तनों के परिणामस्वरूप होगा, जिसे सीधे भी संपादित किया जा सकता है।

(मूल समाधान http://github.com/blog/642-smart-http-support पर पाया गया )


1
मेरे मामले में मुझे विंडोज़ के लिए डायरेक्टरी सीमांकक का उपयोग करने की आवश्यकता थी, मेरा मतलब है, मुझे रास्ते में निर्देशिकाओं को अलग करने के लिए "/" (यूनिक्स) के बजाय "\" (विंडोज़) का उपयोग करना होगा।
विक्टर

मूल पोस्ट लिखने के रूप में मेरे लिए काम करता है इसे एक सार्वजनिक भंडार पर आज़माएं: $ git क्लोन github.com/schacon/grack.git निजी रिपॉजिटरी के लिए, या अपनी रिपॉजिटरी पर पुश एक्सेस करने के लिए, आप इस तरह से क्लोन कर सकते हैं: $ git क्लोन उपयोगकर्ता नाम
@github.com/username/project.git

13
भविष्य के संदर्भों के लिए पथ मेरे लिए "C: \ Program Files (x86) \ Git \ mingw32 \ ssl \ certs \ ca-bundle.crt" में बदल गया है
बेन

3
मेरी 64 बिट मशीन पर पथ "C: \ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt" है
Kamaraju Kusumanchi

3
मेरे 64 बिट मशीन पर, git config --global http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"काम नहीं किया, क्योंकि सिस्टम फेल होने पर वैश्विक क्यों नहीं हो सकता।
अर्ध

76

मैंने Git को स्थापित करने में इस समस्या को हल किया: https://git-for-windows.github.io/ प्रमाणित फ़ाइल पथ का पता लगाएँ:

D: \ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt

Git पथ कॉन्फ़िगर करें:

git config --system http.sslcainfo "D: \ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt"

पुनः प्रयास करें


13
मुझे मिल गया error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied"C:\Program Files\Git\git-bash.exe"व्यवस्थापक के रूप में भाग गया और फिर से कोशिश की और यह काम किया। धन्यवाद!
AXO

बेहतर व्याख्या
कासिम रंगवाला

2
मैंने अभी विंडोज 2.13.2 के लिए Git इंस्टॉल किया है और इस समस्या को रिमोट में पुश करने की कोशिश कर रहा है। मैंने पाया कि प्रमाणित फ़ाइल एक समान स्थान पर थी:C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
सिमोन टेवेसी

1
यह मेरे लिए काम करता है, मैंने केवल शेयर यू लिंक का उपयोग करके जीआईटी स्थापित किया है और इसने मेरे लिए इसे हल किया, धन्यवाद
सनी ओकोरो आवा

मैंने स्थापना समय के दौरान एक निर्दिष्ट निर्देशिका पर GIT स्थापित किया था, इसलिए मुझे उस स्थापना के अनुसार सही MINGW64 पथ निर्दिष्ट करना था
gargkshitiz

21

यदि आप MSYS2 का उपयोग करते हैं ...

बस निम्नलिखित आदेशों के साथ प्रमाणपत्र पैकेज स्थापित करें:

32 बिट्स

pacman -S mingw-w64-i686-ca-certificates ca-certificates

64 बिट्स

pacman -S mingw-w64-x86_64-ca-certificates ca-certificates

1
एक और। धन्यवाद। इस msys2 32bit करने के लिए याद नहीं है, लेकिन परिस्थितियों अलग हो सकता है।
bjj

1
धन्यवाद, मैं पुष्टि करता हूं कि यह msys2 64 बिट्स का उपयोग करने वाली बात है :-D
FabienRohrer

1
यह हो सकता है /usr/ssl/certs/ca-bundle.crt फ़ाइल खाली है, बस फिर से ca-प्रमाणपत्र पुन: स्थापित करें
डैनियल YC लिन

विंडोज के लिए नहीं: $ pacman -S mingw-w64-x86_64-
ca-प्रमाणपत्र ca-

@ जेविक्स यही कारण है कि "यदि आप MSYS2 का उपयोग करते हैं"। Pacman कमांड विंडोज पर डिफ़ॉल्ट रूप से उपलब्ध नहीं है, लेकिन यदि आप MSYS2 स्थापित है तो यह उपलब्ध है।
कूल ओप्पो

12

यदि आप Cygwin का उपयोग कर रहे थे, तो आप apt-cyg के साथ ca- प्रमाणपत्र पैकेज स्थापित कर सकते हैं :

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /usr/local/bin
apt-cyg install ca-certificates

मैं कमांड लाइन से एक साइबरविन पैकेज कैसे स्थापित करूं?


1
अरे नहीं। मैंने इतनी देर खोजा। यह मैक पर भी काम किया। साझा करने के लिए धन्यवाद।
फूलो

1
Cygwin पर इसने मेरे लिए काम कियाgit config --system http.sslcainfo /usr/ssl/certs/ca-bundle.crt
ATorras

9
git config --global http.sslverify "false" 

समस्या का समाधान करेंगे। उसके बाद एक पॉप-अप विंडो आपके उपयोगकर्ता नाम और पासवर्ड को दर्ज करने के लिए प्रकट होती है


5
आप इस के सुरक्षा प्रभाव का उल्लेख करना चाह सकते हैं। यह एक भयानक विचार की तरह लगता है, विशेष रूप से विश्व स्तर पर।
सी। हीलिंग

मेरे लिए HPC पर काम किया
mmann1123

6

SOLVED: मुझे यह त्रुटि तब मिली जब मैंने Git windows इंस्टालर में एक अद्यतन स्थापित किया। क्या हुआ कि मैंने इसे व्यवस्थापक अधिकारों के साथ स्थापित नहीं किया, इसलिए Git को "C: \ program Files" के बजाय "C: \ Users \ my_name \ AppData \ Local \ Programs" में स्थापित किया गया था। व्यवस्थापक के रूप में Git को पुन: स्थापित करते हुए इसे C: \ program फ़ाइलों में डालने की अनुमति दी और सब कुछ फिर से ठीक हो गया!


GitHub डेस्कटॉप को अनइंस्टॉल और अनइंस्टॉल करने के लायक यह क्या है, यह मेरे लिए भी तय है, इसके बावजूद अभी भी AppData फ़ोल्डर का उपयोग कर रहा है।
बेन कोलियर

5

यह मेरे लिए काम कर रहा है (मैं मंजरो लाइनक्स का उपयोग कर रहा हूं)। मैं सीएमडी को सी-सर्टिफिकेट देखने के लिए चलाता हूं:

$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**

लेकिन वास्तव में मुझे पथ पर प्रमाण पत्र मिला:

**/etc/ca-certificates/extracted/ca-bundle.trust.crt**

फिर विन्यास को ~ / .gitconfig में जोड़ें (यदि मौजूदा नहीं है, तो इसे बनाएं):

**vim ~/.gitconfig**
[http]
    sslVerify = true
    sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt

[user]
    email = <email of github account>
    name = <username of github account>

यह काम करता हैं!

.rbenv]$ git pull

remote: Counting objects: 70, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6
Unpacking objects: 100% (70/70), done.
From https://github.com/sstephenson/rbenv
   c43928a..efb187f  master     -> origin/master
 + 37ec781...7e57b52 user-gems  -> origin/user-gems  (forced update)
Updating c43928a..efb187f
Fast-forward
 libexec/rbenv-init         |  4 ++--
 libexec/rbenv-version-file |  1 +
 test/init.bats             |  2 +-
 test/test_helper.bash      | 25 +++++++++++++++----------
 4 files changed, 19 insertions(+), 13 deletions(-)

1
मेरे लिए आर्चलिनक्स पर काम किया!
लुलासेम

4

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

यह काम। आपको पूर्ण पथ देने की आवश्यकता नहीं है।


3

मैं इस का सामना करना पड़ा, जबकि गिट पुल। मेरे लिए वैश्विक git कॉन्फ़िग फ़ाइल जो कि निश्चित समस्या थी को संपादित किया।

अपने होम फोल्डर को खोलें और .gitconfig फ़ाइल खोलें। आमतौर पर C: \ Users \ .gitconfig

यदि फ़ाइल नहीं है, तो इसे बनाएँ

[http]
sslcainfo = E: \ systools \ git-1.8.5.2 \ bin \ curl-ca-bundle.crt

वहां आपको अपना स्वयं का गिट इंस्टॉलेशन पथ देना होगा। मैंने यहाँ git के पोर्टेबल संस्करण का उपयोग किया है।

फिर गिट क्लोन / पुल यह काम करेगा।


1
आपको डबल एस्केप चार का उपयोग करने की आवश्यकता है:E:\\systools...
HappyCactus

लेकिन, सुनिश्चित करें कि उद्धरणों में पथ को लपेटना नहीं है। सुपर जवाबी सहज ज्ञान युक्त। "C:\\folder\\file"बुरा है, C:\\folder\\fileअच्छा है। मुझे अपना घंटा वापस चाहिए।
अविश्वसनीयडी

2

अगर आप विंडोज ऐप के लिए GitHub के साथ इंस्टॉल होने वाले Git कमांड शेल का उपयोग कर रहे हैं तो यह और कई अन्य समस्याएं अपडेट के बाद दिखाई दे सकती हैं। बस Git Hub विंडोज़ ऐप शुरू करें और इसे फिर से बंद करें। शेल फिर से ठीक काम करेगा। समस्या यह है कि अद्यतन तब तक पूरा नहीं होता है जब तक कि विंडोज़ एप्लिकेशन नहीं चलाया जाता है। सिर्फ शेल का उपयोग करने से अपडेट पूरा नहीं होता है।


2

मैंने इसे विंडोज के लिए अपने गितुब पर देखा है।

मैं Windows के लिए Github की स्थापना रद्द करने और इसे फिर से स्थापित करने की सलाह देता हूं।

इससे पहले, मैंने बिना किसी सफलता के कई तरीके आजमाए, लेकिन इस समाधान ने मेरे लिए काम किया!


1

Msysgit का उपयोग करते हुए विंडोज पर मुझे यह त्रुटि मिली थी और इसका कारण हमारे कॉर्पोरेट प्रॉक्सी प्रमाणपत्रों के मेरे जोड़ थे।

यदि आप अपने कर्ल-सीए-बंडल को संपादित करते हैं। आपको अपनी रेखाओं के बारे में सुनिश्चित करना होगा। कर्ल-सीए-बंडल के मामले में आपको लिनक्स-स्टाइल लाइनिंग का उपयोग करना होगा।

> git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git
fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations:
  CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
  CApath: none

आप लाइनअप का उपयोग लिनक्स (लाइनफीड) में बदलने के लिए नोटपैड ++ का उपयोग कर सकते हैं।


1

साइड नोट पर, यह समस्या विंडोज में हो सकती है यदि उपयोगकर्ता जो गिट का उपयोग करने की कोशिश कर रहा है, वह उस उपयोगकर्ता से अलग है जिसने इसे स्थापित किया है। त्रुटि यह दर्शा सकती है कि git प्रमाणपत्र फ़ाइलों तक नहीं पहुँच सकता है। व्यवस्थापक के रूप में git को स्थापित करने और @ rogertoday के उत्तर का उपयोग करके मेरे मुद्दे को हल किया।


1

मुझे आरएचईएल / सेंटोस 6 पर सीए प्रमाण पत्र को जोड़ने / अपडेट करने का एक अच्छा समाधान मिला जो कि मूल कारण रिपोर्ट है।

चूंकि वे पुराने डिस्ट्रोस बन जाते हैं, कमांड को निष्पादित करने तक उस सिस्टम में कैसर्ट अधिकारियों को अपडेट नहीं किया गया है sudo yum update

GIT_CURL_VERBOSE मोड कैचर पथ समस्या दिखाता है जब तक कि समस्या का एहसास नहीं हुआ।


0

लिनक्स पर, मुझे यह त्रुटि मिली और इसे चलाकर ठीक किया sudo update-ca-certificates


आपको यह बताना चाहिए कि यह कमांड क्या करता है और यह क्यों मदद करता है। स्पष्टीकरण के बिना कच्चे आदेशों को पोस्ट करना एक अच्छा विचार नहीं है, खासकर यदि आपको रूट एक्सेस की आवश्यकता है।
मूंगफली

0

मेरे लिए क्या समस्या हल हो गई थी जब मेरी खिड़कियों पर 10 बॉक्स थे, तो मैंने जीआईटी और रीसेंटालिंग को अनइंस्टॉल करने की कोशिश की, विंडोज सीएमडी का उपयोग डिफ़ॉल्ट रूप से किया गया था न कि गिट बैश।

CMD खोलें और निम्नलिखित चलाएँ

//Once installed try to resintall the bin folder 
git config --system http.sslcainfo \bin/curl-ca-bundle.crt

//disable ssl verification
git config --global http.sslverify "false"

//Then try to clone repo again
git clone git@github.com:account/someproject.git

0

यदि कोई अन्य व्यक्ति Windows के लिए Git में इस समस्या का सामना कर रहा है और curl-ca-bundle.crtपुनः इंस्टॉल करने के बाद भी आपके सिस्टम में कहीं भी नहीं है , तो यह वह प्रक्रिया है जिसका मैंने अनुसरण किया है:

  1. यहाँ कर्ल का नवीनतम संस्करण डाउनलोड करें: कर्ल डाउनलोड मिरर
  2. निकालें और curl-**.**.*/libकमांड लाइन में नेविगेट करें
  3. Daud ./mk-ca-bundle.prl
  4. ca-bundle.crtअपने गिट पथ पर कॉपी करें और अन्य उत्तरों में सूचीबद्ध कॉन्फ़िगरेशन को अपडेट करें

को प्रोत्साहित करें इस सार मुझे स्थापना करवाने में मदद के लिए।


0

मैंने इसे पुनः स्थापित करके और "देशी HTTPS ट्रांसपोर्ट बैकएंड" इंस्टाॅल स्टेप पर "देशी विंडोज सिक्योर चैनल लाइब्रेरी" चुनकर विंडोज सर्वर 2016 पर इस समस्या को हल किया है।



0

मेरे win10 के मामले में मेरे पास दो संस्करण हैं.gitconfig

  • पहले वाले में है C:\Program Files\Git\etc
  • दूसरे में है C:\Users\<user>

आदेश

git config --system http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"

वास्तव में परिवर्तन करता है C:\Program Files\Git\etc, लेकिन git किसी भी तरह से config का उपयोग करता हैC:\Users\<user>

इसलिए नोटपैड के साथ मैंने दूसरे को बदल दिया .gitconfigऔर गिट ने आखिरकार सही कॉन्फ़िगरेशन लिया और काम करना शुरू कर दिया।


-1

मैं निम्नलिखित कमांड के साथ इस मुद्दे को हल करने में सक्षम था।

git config --system http.sslify को गलत


यह उत्तर बेहतर होगा यदि यह इस सेटिंग के सुरक्षा प्रभावों पर चर्चा करता है और समस्या को हल करने के अन्य तरीके भी प्रदान करता है। हालाँकि, वर्तमान स्वीकृत उत्तर ऐसा करता है और ...
chwarr

-1

हार्ड ड्राइव में गिट हिलाने के बाद मुझे यह त्रुटि मिली। नई लोकेशन तय की गई चीजों को हटाना और फिर से इंस्टॉल करना


-1

Windows के लिए git पर आप Windows देशी प्रमाणपत्र सत्यापन विधि को पुनर्स्थापित और चुन सकते हैं (OpenSSL डिफ़ॉल्ट है)। यह ओपनएसएसएल सत्यापन को छोड़ देगा और इसके बजाय विंडोज देशी का उपयोग करेगा, जिसे एक अलग उपकरण (ओपनएसएसएल) और प्रमाणपत्र बनाए रखने की आवश्यकता नहीं है।

मेरे लिए पूरी तरह से काम किया :)


-2

निम्नलिखित आदेश

git clone git://github.com/username/projectname.git

मेरी जरूरतों के लिए काम किया है, लेकिन मुझे लगता है कि आप केवल पढ़ने के लिए पहुँच से अधिक चाहते हैं, है ना?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.