मैं एक HTTP प्रॉक्सी के माध्यम से Git रिपॉजिटरी से कैसे खींच सकता हूं?


491

नोट: जब उपयोग-वर्णित मामला परियोजना के भीतर सबमोडुल्स का उपयोग करने के बारे में है, तो यह git cloneHTTP पर एक रिपॉजिटरी के सामान्य पर लागू होता है ।

मेरे पास गिट कंट्रोल के तहत एक प्रोजेक्ट है। मैं एक सबमॉड्यूल जोड़ना चाहूंगा:

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

लेकिन मुझे मिलता है

...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'

मेरा HTTP_PROXY सेट है:

c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80

मेरे पास http प्रॉक्सी के लिए एक वैश्विक Git सेटिंग है:

c:\project> git config --get http.proxy
http://proxy.mycompany:80

क्या किसी ने HTTP प्रॉक्सी के माध्यम से लगातार काम करने के लिए HTTP भ्रूण प्राप्त किया है? यह वास्तव में अजीब है कि GitHub पर कुछ प्रोजेक्ट ठीक काम करते हैं ( awesome_nested_setउदाहरण के लिए), लेकिन अन्य लगातार विफल रहते हैं ( उदाहरण के लिए रेल )।


क्या आपका प्रॉक्सी कुछ शब्दों या कुछ को सेंसर कर सकता है, जिससे केवल उन रिपॉज को प्रभावित किया जा सकता है, जहां उन शब्दों को बाइट स्ट्रीम के हिस्से के रूप में दिखाया जाता है?
pjz


4
@alvaro, मुझे लगता है कि आपका मतलब है कि प्रॉक्सी सर्वर के साथ काम करने के लिए गेटिंग करना इस सवाल का एक संभावित डुप्लिकेट है। यह प्रश्न आपके द्वारा संदर्भित एक से अधिक पुराना है।
डेरेक महार

2
@ नाम, प्रॉक्सी सर्वर के लिए आपकी "वैश्विक" Git सेटिंग वास्तव में वैश्विक नहीं है, बल्कि स्थानीय है। वैश्विक होने के लिए, आपको तर्क की आपूर्ति करने की आवश्यकता --globalहै git config
डेरेक महार

1
@DerekMahar पुराने प्रश्न नए प्रश्नों के डुप्लिकेट के बंद हो सकते हैं, यदि नया प्रश्न बेहतर गुणवत्ता वाला (या अधिक सामान्यतः अनुप्रयोग-योग्य) है।
राेडवल्ड

जवाबों:


584

आप HTTP प्रॉक्सी को भी सेट कर सकते हैं जो Git वैश्विक कॉन्फ़िगरेशन संपत्ति में उपयोग करता है http.proxy:

git config --global http.proxy http://proxy.mycompany:80

प्रॉक्सी के साथ प्रमाणित करने के लिए:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080/

( प्रमाणीकरण प्रारूप के लिए क्रेडिट @EugeneKulabuhov और @JaimeReynoso को जाता है ।)


8
यह मेरे लिए काम किया: उपयोगकर्ता के लिए (विंडोज पर) वातावरण में HTTP_PROXY सेट करें, फिर $ HTTP_PROXY (अपरकेस) के साथ उपरोक्त टिप्पणी। इस समाधान के लिए +1।
सीन एटकन

4
Windows पर CleverCoder, आपको% HTTP_PROXY% निर्दिष्ट करने की आवश्यकता है, $ HTTP_PROXY नहीं (जब तक कि आप निश्चित रूप से Cygwin नहीं चला रहे हों)। मैं यूनिक्स वातावरण के बजाय विंडोज में काम करने के लिए अपने जवाब को संपादित करूंगा।
डेरेक महार

7
मैं प्रॉक्सी के लिए उपयोगकर्ता नाम और पासवर्ड कहां डालूं?
दूना

26
git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080उपयोगकर्ता नाम / पासवर्ड प्रदान करने के लिए वाक्यविन्यास का उपयोग करें
यूजीन कुलबुहोव

2
किसी के लिए जो प्रॉक्सी के साथ समस्या हो सकती है, http: // <UserID>: <पासवर्ड> @ <प्रॉक्सी>> <पोर्ट> / मेरे लिए काम किया
Jaime Reynoso

146

इस पर पहले से ही कुछ बेहतरीन जवाब हैं। हालाँकि, मैंने सोचा कि मैं कुछ प्रॉक्सी सर्वरों में चिप लगाऊंगा ताकि आपको उपयोगकर्ता आईडी और पासवर्ड प्रमाणित करने की आवश्यकता हो। कभी-कभी यह एक डोमेन पर हो सकता है।

उदाहरण के लिए, यदि आपका प्रॉक्सी सर्वर विन्यास निम्नानुसार है:

Server: myproxyserver
Port: 8080
Username: mydomain\myusername
Password: mypassword

फिर, .gitconfigनिम्न आदेश का उपयोग करके अपनी फ़ाइल में जोड़ें :

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

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

फिर आप यह सत्यापित कर सकते हैं कि कमांड ने आपकी .gitconfigफ़ाइल में प्रविष्टि सफलतापूर्वक कर दी है cat .gitconfig:

फ़ाइल के अंत में आपको निम्नानुसार एक प्रविष्टि दिखाई देगी:

[http]
    proxy = http://mydomain\\myusername:mypassword@myproxyserver:8080

बस!


दिलचस्प। मैं 100% के साथ "रिज़ॉल्यूशन डेल्टास" भाग को प्राप्त करने में सक्षम हूं, लेकिन फिर ऐसा लगता है कि क्लोन प्रक्रिया बस लटकी हुई है। किसी को भी अनुभव किया?
रोमन


@apoplexy आप अपने सुझाए गए संपादन पर टिप्पणी कर सकते हैं तो कृपया मुझे विचार कर सकते हैं
मैक्स मैकलियोड

3
यदि आपके उपयोगकर्ता नाम या पासवर्ड में @ प्रतीक है, तो आप URL को एनकोड कर सकते हैं %40और यह काम करेगा।
आदर्श

3
कैट .gitconfig के बजाय, आप git config --list
user3969377

125

आखिरकार जो काम किया वह http_proxyपर्यावरण चर को स्थापित कर रहा था । मैंने HTTP_PROXYसही तरीके से सेट किया था, लेकिन स्पष्ट रूप से लोअर-केस संस्करण को बेहतर पसंद करता है।


3
http.proxyवैश्विक Git कॉन्फ़िगरेशन कार्य में सेटिंग करता है ? अपने प्रश्न में, आप http.proxyस्थानीय रिपॉजिटरी कॉन्फ़िगरेशन में सेट करते हैं।
डेरेक महार

22
मेरे मामले में मुझे https_proxy
एम स्मिथ

1
https.proxyमेरे लिए काम करने के लिए लग रहा था के रूप में मैं उपयोग कर रहा था https पर github
Shervin Asgari

3
@ स्मिथ यदि आपको https_proxyयह सेट करना है तो इसका मतलब है कि आप इसका उपयोग httpsनहीं कर रहे हैं कि httpकौन सा प्रश्न है।
पियोट्र डोब्रोगोस्ट

3
कर्ल और libcurl अपरकेस HTTP_PROXY और HTTPS_PROXY को नहीं पहचानते हैं। अधिक जानकारी के लिए इस लिंक को देखें: curl.haxx.se/mail/archive-2001-12/0034.html
डग

49

ऐसा लगता है कि आप खिड़कियों पर गिट के एक संकलन का उपयोग कर रहे हैं (या संभवतः एक और जिसे मैंने नहीं सुना है)। इसे डीबग करने के तरीके हैं: मेरा मानना ​​है कि जीआईटी के लिए http के सभी काम कर्ल द्वारा किए जाते हैं। Git चलाने से पहले इस पर्यावरण चर को सेट करें:

GIT_CURL_VERBOSE=1

इससे आपको कम से कम यह अंदाजा लगाना चाहिए कि पर्दे के पीछे क्या चल रहा है।


7
जब मैं इस पर्यावरण चर को जोड़ता हूं, तो msysgit कुछ भी अतिरिक्त नहीं छापता। :(
एंड्रयू अर्नोट

कुछ समय के लिए परदे के पीछे से लड़ने के बाद, इस टिप ने मुझे यह पता लगाने में मदद की कि कर्ल का सर्टिफिकेट डेटाबेस गायब / गड़बड़ हो गया था, और इसीलिए अनुरोध विफल हो रहे थे।
davenpcj

मैं पिछले कुछ समय से इसकी तलाश कर रहा था। धन्यवाद।
एम स्मिथ

40

यदि आप किसी निर्दिष्ट रिपॉजिटरी पर प्रॉक्सी का उपयोग करना चाहते हैं, तो अन्य रिपॉजिटरी की आवश्यकता नहीं है। -c, --config <key=value>जब आप git cloneएक रिपॉजिटरी करते हैं तो बेहतर तरीका विकल्प होता है। जैसे

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"

यह अजीब है, मैंने $ http_proxy सेट करने की कोशिश की, लेकिन git ने इसका सम्मान नहीं किया। ऐसा लगता है कि यह केवल अपने स्वयं के विन्यास की परवाह करता है ...
weberc2

काम करता है। आप --configकई बार निर्दिष्ट भी कर सकते हैं , उदाहरण के लिए जब आप भी सेट करना चाहते हैं https.proxy
बारफिन

धन्यवाद! वास्तव में मैं क्या देख रहा था
बोयांग

2
प्रॉक्सी कॉन्‍फ़िगर के साथ क्लोन लेकिन उपयोगकर्ता के प्रॉक्सी कॉन्‍फ़िगर को बदले बिना। बिल्कुल मुझे क्या चाहिए! धन्यवाद।
कयामत

26

जब आपकी नेटवर्क टीम प्रमाणपत्रों का पुनर्लेखन करके ssl- निरीक्षण करती है, तो एक https एक के बजाय http url का उपयोग करके, इस संस्करण को सेट करने के लिए मेरे साथ काम किया जाता है।

git config --global http.proxy http://proxy:8081

2
आप इसे फिर से लिखे गए प्रमाणपत्रों को स्वीकार करने के लिए पर्यावरण में भी जोड़ सकते हैं, जो नेटवर्क द्वारा आपके ट्रैफ़िक का निरीक्षण करने की पेशकश करते हैं: GIT_SSL_NO_VERIFY = true
bbaassssiiee

मेरे लिए पूरी तरह से काम किया। धन्यवाद। मुझे सिर्फ git config --global http.proxy प्रॉक्सी जोड़ना था : 8081 git config --global https.proxy प्रॉक्सी: 8081
Sid

इस जवाब के लिए सरल और त्वरित समाधान, +1।
वाकर

1
@Sethbc, @datasmid को धन्यवाद! मुझे डिबग करने के लिए GIT_CURL_VERBOSE = 1 की आवश्यकता थी और सत्यापन को छोड़ने के लिए GIT_SSL_NO_VERIFY = सही था।
हेनरी रिवेरा

मेरे साथ काम नहीं कर रहा है। GIT_SSL_NO_VERIFY var के साथ भी नहीं
कीनाबेल

20

आप Windows सिस्टम पर% userprofile% निर्देशिका में स्थित .itconfig फ़ाइल को भी संपादित कर सकते हैं ( notepad% userprofile% .gitconfig ) या लिनक्स सिस्टम ( ~ ~ / .gitconfig ) पर ~ निर्देशिका में और नीचे के रूप में एक HTTP अनुभाग जोड़ें

.Gitconfig फ़ाइल की सामग्री:

[http]
        proxy = http://proxy.mycompany:80

20

मेरे लिए git: // सिर्फ प्रॉक्सी के माध्यम से काम नहीं करता है, हालांकि https: // करता है। इससे कुछ सिरदर्द हुआ क्योंकि मैं स्क्रिप्ट चला रहा था जो सभी git का उपयोग करते थे: // तो मैं आसानी से उन सभी को आसानी से नहीं बदल सकता। हालाँकि मुझे यह GEM मिला

git config --global url."https://github.com/".insteadOf git://github.com/

धन्यवाद, इसने बहुत मदद की
11

मुझे पता है कि मुझे भी git से खींचने में समस्याएँ थीं: //। क्या आपने SSH कुंजी समस्या पर विचार किया है? मेरी समस्या खराब SSH कुंजी कॉन्फ़िगरेशन के कारण थी।
अवजुला

17

यह एक पुराना प्रश्न है, लेकिन यदि आप विंडोज पर हैं, तो HTTPS_PROXY सेट करने पर विचार करें और साथ ही यदि आप किसी https URL के माध्यम से प्राप्त कर रहे हैं। मेरे लिए काम किया!


2
यह https_proxyमेरे मामले में अकेले पर्यावरण चर (कोई git वैश्विक या रेपो प्रॉक्सी विकल्प सेट) सेट करने के लिए पर्याप्त था (Windows XP पर msysgit)।
Piotr Dobrogost

13

मुझे अपने प्रमाणित http प्रॉक्सी के लिए http.proxyन तो GIT_PROXY_COMMANDकाम मिल रहा है और न ही । प्रॉक्सी को किसी भी तरह से ट्रिगर नहीं किया गया है। लेकिन मुझे इसके आसपास काम करने का एक तरीका मिल गया है।

  1. कॉर्कस्क्रू , या अन्य इच्छित विकल्प स्थापित करें ।
  2. एक ऑर्टिफाइल बनाएं। के लिए प्रारूप authfileहै: user_name:passwordऔर user_name, passwordअपने उपयोगकर्ता नाम और पासवर्ड को अपने प्रॉक्सी का उपयोग करने के लिए है। ऐसी फ़ाइल बनाने के लिए, बस इस तरह कमांड चलाएँ echo "username:password" > ~/.ssh/authfile:।

  3. संपादित करें ~/.ssh/config, और सुनिश्चित करें कि इसकी अनुमति है 644:chmod 644 ~/.ssh/config

उदाहरण के रूप में github.com को लें, निम्न पंक्तियों को इसमें जोड़ें ~/.ssh/config :

Host    github.com
        HostName        github.com
        ProxyCommand    /usr/local/bin/corkscrew <your.proxy> <proxy port> %h %p <path/to/authfile>
        User            git

अब जब भी आप के साथ कुछ भी करते हैं git@github.com , तो यह स्वतः ही प्रॉक्सी का उपयोग करेगा। आप बिटक्बेट के लिए भी यही काम आसानी से कर सकते हैं ।

यह अन्य दृष्टिकोणों के रूप में इतना सुंदर नहीं है, लेकिन यह एक आकर्षण की तरह काम करता है।


1
क्या आप कृपया चरण 2 पर विस्तार से बता सकते हैं, "ऑर्टिफाइल बनाएँ"? ऐसा लगता है कि आपका दृष्टिकोण ही एकमात्र है जो गिट के लिए काम करेगा: // urls।
निक

@NikBagdon मैंने चरण 2 में और अधिक विवरण जोड़े। मुझे बताएं कि क्या कुछ अस्पष्ट है :)
कार्लोसिन

11

विंडोज़ पर, यदि आप अपने पासवर्ड को .ITconfig को सादे पाठ में नहीं डालना चाहते हैं, तो आप उपयोग कर सकते हैं

यह आपको सामान्य या यहां तक ​​कि विंडोज एनटीएलएम प्रॉक्सी के खिलाफ प्रमाणित करता है और प्रमाणीकरण के बिना लोकलहोस्ट-प्रॉक्सी शुरू करता है।

इसे चलाने के लिए:

  • Cntml स्थापित करें
  • अपने प्रॉक्सी प्रमाणीकरण को पारित करने के लिए दस्तावेज़ीकरण के अनुसार Cntml कॉन्फ़िगर करें
  • अपने नए लोकलहोस्ट प्रॉक्सी को प्वाइंट गाइट:

    [http]
        proxy = http://localhost:3128       # change port as necessary
    

2
इसकी कीमत क्या है, इसके लिए स्वीकृत उत्तर होना चाहिए, वह विंडोज़ पर है। पारदर्शी छद्म नहीं है (अन्यथा कोई समस्या नहीं होगी।
बोआआआ

9

मेरे लिए यह काम किया था:

sudo apt-get install socat

अपने $ BIN_PATH / gitproxy के अंदर एक फ़ाइल बनाएँ:

#!/bin/sh 
_proxy=192.168.192.1 
_proxyport=3128 
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

इसे निष्पादन अनुमति देना न भूलें

chmod a+x gitproxy

वातावरण सेट करने के लिए निम्न आदेश चलाएँ:

export PATH=$BIN_PATH:$PATH
git config --global core.gitproxy gitproxy

1
(मिनी-) स्क्रिप्ट के अपडेट के साथ एक व्याख्या और एक जिस्ट का लिंक
कार्ल रिक्टर

यह उत्तर केवल वही है जो git://प्रोटोकॉल URL के लिए काम करता है , उन (दुर्लभ) git सर्वरों के लिए जो https का समर्थन नहीं करते हैं। खिड़कियों के लिए उपयुक्त बैच फ़ाइल और सोसाइट के साथ, विंडोज़ पर भी काम करता है।
davenpcj

8

प्रॉक्सी को git पर सेट करें

आदेश

git config --global http.proxy http://user:password@domain:port

उदाहरण

git config --global http.proxy http://clairton:123456@proxy.clairtonluz.com.br:8080

7

जीत के लिए Git क्रेडेंशियल.हेलपर सेट करें।

git config --global credential.helper wincred

सुनिश्चित करें कि केवल 1 क्रेडेंशियल है

git config -l

यदि 1 से अधिक है और इसे हटाने के लिए wincred सेट नहीं है।

git config --system --unset credential.helper

अब बिना पासवर्ड के प्रॉक्सी सेट करें।

git config --global http.proxy http://<YOUR WIN LOGIN NAME>@proxy:80

जांचें कि आपके द्वारा जोड़ी गई सभी सेटिंग्स अच्छी लगती हैं ...।

git config --global -l

अब आप जाने के लिए अच्छा है!


6

मुझे एक ही समस्या थी, थोड़ा अलग फिक्स के साथ: HTTP सपोर्ट के साथ REBUILDING GIT

git:प्रोटोकॉल अपने कॉर्पोरेट फ़ायरवॉल के माध्यम से काम नहीं किया।

उदाहरण के लिए, यह समय समाप्त हो गया:

git clone git://github.com/miksago/node-websocket-server.git

curl github.comहालांकि, ठीक काम करता है, इसलिए मुझे पता है कि मेरा http_proxyपर्यावरण चर सही है।

मैंने httpनीचे की तरह उपयोग करने की कोशिश की , लेकिन तत्काल त्रुटि मिली।

git clone http://github.com/miksago/node-websocket-server.git

->>>  fatal: Unable to find remote helper for 'http' <<<-

मैं इस तरह git recompiling की कोशिश की:

./configure  --with-curl --with-expat

लेकिन फिर भी घातक त्रुटि हुई।

अंत में, कई निराशाजनक घंटों के बाद, मैंने कॉन्फ़िगर फ़ाइल पढ़ी, और यह देखा:

# अपने कर्ल हैडर और लाइब्रेरी फ़ाइलों में हैं तो CURLDIR = / foo / bar को परिभाषित करें

# / foo / बार / शामिल हैं और / foo / बार / लिबास निर्देशिका।

मुझे तब याद आया, कि मैंने curlस्रोत से अनुपालन नहीं किया था , और इसलिए हेडर फ़ाइलों की तलाश में चला गया। निश्चित रूप से, वे स्थापित नहीं थे। यही समस्या थी। गायब हेडर फ़ाइलों के बारे में शिकायत न करें। इसलिए मुझे महसूस नहीं हुआ कि --with-curlविकल्प ने कुछ नहीं किया (यह वास्तव में मेरे संस्करण में डिफ़ॉल्ट है git)।

मैंने इसे ठीक करने के लिए निम्न कार्य किया:

  1. बनाने के लिए आवश्यक हेडर जोड़े:

    yum install curl-devel
    (expat-devel-1.95.8-8.3.el5_5.3.i386  was already installed).
    
  2. से निकाल दिया gitगया /usr/local(जैसा कि मैं चाहता हूं कि नया इंस्टॉल वहां पर रहे)।

    मैं बस से हटाया git*से /usr/local/shareऔर/usr/local/libexec

  3. शामिल डायर curlऔर expatहेडर फ़ाइलों को शामिल करने के लिए खोज की गई , और फिर (क्योंकि मैंने पढ़ा था configure) उन्हें इस तरह से पर्यावरण में जोड़ा गया:

    export CURLDIR=/usr/include 
    export EXPATDIR=/usr/include
    
  4. configureनिम्नलिखित विकल्पों के साथ भाग गया, जो, फिर से, configureफ़ाइल में ही वर्णित किया गया था, और यह भी चूक थी लेकिन क्या बिल्ली थी:

    ./configure  --with-curl --with-expat
    
  5. और अब मेरे कॉर्पोरेट फ़ायरवॉल के httpसाथ काम करता है git:

    git clone http://github.com/miksago/node-websocket-server.git
    Cloning into 'node-websocket-server'...
    * Couldn't find host github.com in the .netrc file, using defaults
    * About to connect() to proxy proxy.entp.attws.com port 8080
    *   Trying 135.214.40.30... * connected
    ...
    

मुझे खुशी है कि आपने इसे आगे रखा, मुझे यह महसूस नहीं हुआ कि git प्रोटोकॉल मेरे स्क्वीड प्रॉक्सी पर संभाला नहीं जा रहा था
Rsert160

5

बस इसे पोस्ट करने के लिए क्योंकि यह Google पर पहला परिणाम है, मैंने पाया कि इस ब्लॉग पोस्ट ने कर्ल सर्टिफिकेट को अपडेट करके मेरे लिए समस्या हल कर दी है।

http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html


1
Halleluyah, इस प्लस git config --global http.sslcainfo NEW_CERTS_BUNDLE.crtमें वर्णित है: stackoverflow.com/a/8248484/98528 ने मेरे लिए यह किया! धन्यवाद!
बजकर


3

आप उपयोग कर सकते हैं:

git config --add http.proxy http://user:password@proxy_host:proxy_port

3

समीपस्थ उपयोग करें

proxychains git pull ...

अद्यतन: प्रोक्सीसाइन्स को बंद कर दिया गया है, इसके बजाय प्रोक्सीसाइंस-एनजी का उपयोग करें।


दुर्भाग्य से यूनिक्स केवल
सैमोथ

2
@Samoth Jun, खिड़कियों के लिए आपकी कोशिश हो सकती है SocksCap64
fangxing

2

विंडोज के लिए

गोटो -> C: / उपयोगकर्ता / user_name / gitconfig

नीचे दिए गए विवरण के साथ अद्यतन gitconfig फ़ाइल

[एचटीटीपी]

[Https]

proxy = https://your_proxy:your_port

[एचटीटीपी]

proxy = http://your_proxy:your_port

अपने प्रॉक्सी और पोर्ट नंबर की जांच कैसे करें?

इंटरनेट एक्सप्लोरर -> सेटिंग्स -> इंटरनेट विकल्प -> कनेक्शन -> लैन सेटिंग्स


2

नीचे दी गई विधि मेरे लिए काम करती है:

echo 'export http_proxy=http://username:password@roxy_host:port/' >> ~/.bash_profile
echo 'export https_proxy=http://username:password@roxy_host:port' >> ~/.bash_profile
  • Zsh नोट: अपनी ~ / .zshenv फ़ाइल को ~ / .bash_profile के बजाय संशोधित करें।
  • उबंटू और फेडोरा नोट: ~ / .bash_profile के बजाय अपनी ~ / .bashrc फ़ाइल को संशोधित करें।

2

उल्लेख के लायक: नेट शो के अधिकांश उदाहरण जैसे उदाहरण

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port

तो ऐसा लगता है, कि - अगर आपके प्रॉक्सी को प्रमाणीकरण की आवश्यकता है - तो आपको अपने कंपनी-पासवर्ड को git-config में छोड़ना होगा । जो वास्तव में अच्छा नहीं है।

लेकिन, यदि आप पासवर्ड के बिना उपयोगकर्ता को कॉन्फ़िगर करते हैं:

git config --global http.proxy proxy_user@proxy_ip:proxy_port

Git लगता है (कम से कम मेरे विंडोज-मशीन पर बिना क्रेडेंशियल-हेल्पर के) पहचानने के लिए और रेपो-एक्सेस पर प्रॉक्सी-पासवर्ड के लिए संकेत देता है।


आप मेरे आदमी हैं, क्योंकि मेरी sso कंपनी यूजरनेम और पासवर्ड में इतने विशेष सिमबोल हैं जो एनकोडिंग और माध्यम से प्राप्त करने के लिए काफी असंभव थे। इस "escamotage" के साथ, मैं प्रॉक्सी पता सेट करने के बाद क्लोन चेहरे या किसी भी अगले कदम पर पासवर्ड प्रदान करने में सक्षम था।
कारमाइन टैम्बस्किया

1

यह आपके प्रॉक्सी के साथ कोई समस्या नहीं है। यह जीथब (या गिट) के साथ एक समस्या है। यह मेरे लिए git-1.6.0.1 linux पर भी विफल रहता है। बग की सूचना पहले से ही है (आपके द्वारा कम नहीं)।

अपने अतीत को मिटाना सुनिश्चित करें, वे पहले से ही Google पर हैं। संपादित करें: सपना देख रहा होगा, मुझे लगता है कि आप उन्हें हटा नहीं सकते। इसके बजाय Gist का उपयोग करें ?


मैं github और msysGit के साथ ही b / c में पोस्ट किया गया था मुझे यकीन नहीं था कि समस्या कहाँ है। मैं दुर्भाग्य से अतीत को नष्ट करने के लिए प्रतीत नहीं कर सकता।
जेम्स ए। रोसेन


1

जब मेरे प्रॉक्सी को प्रमाणीकरण की आवश्यकता नहीं है, तो उपरोक्त उत्तर मेरे लिए काम करते हैं। यदि आप प्रॉक्सी का उपयोग कर रहे हैं जिसे आपको प्रमाणित करने की आवश्यकता है तो आप CCProxy को आज़मा सकते हैं। मेरे पास इसको स्थापित करने के तरीके के बारे में छोटा ट्यूटोरियल है,

http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html

मैं धक्का देने, खींचने, नए रेपो बनाने में सक्षम था। सब कुछ ठीक काम किया। सुनिश्चित करें कि आप एक साफ अनइंस्टॉल करते हैं और नए संस्करण को फिर से स्थापित करते हैं यदि आप Git के साथ समस्याओं का सामना कर रहे हैं जैसे मैंने किया।


1

जैसा कि @ user2188765 ने पहले ही बताया है, git://रिपॉजिटरी के प्रोटोकॉल को बदलने की कोशिश करें http[s]://इस उत्तर को भी देखें


0

मैं https का उपयोग करके प्रॉक्सी के आसपास मिला ... कुछ प्रॉक्सी भी https की जांच नहीं करते हैं।

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

c:\git\meantest>git clone http://github.com/linnovate/mean.git
Cloning into 'mean'...
fatal: unable to access 'http://github.com/linnovate/mean.git/': Failed connect
to github.com:80; No error

c:\git\meantest>git clone https://github.com/linnovate/mean.git
Cloning into 'mean'...
remote: Reusing existing pack: 2587, done.
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (24/24), done.
rRemote: Total 2614 (delta 3), reused 4 (delta 0)eceiving objects:  98% (2562/26

Receiving objects: 100% (2614/2614), 1.76 MiB | 305.00 KiB/s, done.
Resolving deltas: 100% (1166/1166), done.
Checking connectivity... done

0

जैसा कि यह कई लोगों द्वारा उत्तर दिया गया था लेकिन यह सिर्फ विनोद्वेस के लिए है जो कि प्रॉक्सी के साथ पीछे है।

पुनः स्थापित करना (पहले विफल, हटाएं नहीं)।

Goto ->
**Windows**
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port

**Linux**
1. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"

यदि आपके पास उपयोगकर्ता / पास उपयोग url_encode में कोई विशेष चार्ट है

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