2011-04-03 43 views
31

के पीछे गिट का उपयोग कैसे करें मैं प्रॉक्सी के पीछे से msysgit का उपयोग कर रहा हूं। जैसा कि मैंने प्रश्न में कहा था Getting git to work with a proxy serverप्रॉक्सी

मैंने सिस्टम वैरिएबल http_proxy को एक मान में सेट किया है। बाद में मैंने

git config --global http.proxy $http_proxy 

फोन हालांकि, अगर मैं की तरह कुछ फोन:

git clone git://git.savannah.gnu.org/gnuprologjava.git 

यह निम्न त्रुटि देता है:

git.savannah.gnu.org[0; 140.186.70.72]: errno=No error 
fatal: unable to connect a socket (No error) 
+0

यह केवल अपने कॉर्पोरेट प्रॉक्सी वातावरण में काम करता है जो पहुँच पोर्ट 22 के साथ बाहरी आईपी अवरुद्ध है: http://alpengeist-de.blogspot.com.au/2012/03/github-with-cygwin-git-behind-corporate.html – BMW

उत्तर

23

आप HTTP प्रॉक्सी के पीछे हैं, तो आप होना चाहिए http गिट यूआरएल का उपयोग कर। Savannah.gnu.org पर UsingGit पृष्ठ आपको इसके लिए सही वाक्यविन्यास बताता है। कि रेपो के लिए:

git clone http://git.savannah.gnu.org/r/gnuprologjava.git 
+4

दुर्भाग्यवश, कुछ बिल्ड स्क्रिप्ट्स (उदाहरण के लिए मोनो के लिए) में गिट है: // यूआरएल बेक्ड इन :( – nik

+1

या https: // – carlos

+0

से शुरू करें नोट: HTTP (एस) द्वारा एसएसएच कुंजी द्वारा अधिकृत करना संभव नहीं है। :-( – Martin

7

आप लिनक्स पर कर रहे हैं, this page देखते हैं।

विंडोज़ पर मैंने इसे इस तरह हल किया है;

Cygwin इंस्टॉल करें, और सोशल पैकेज का चयन करें।

@echo off 
C:\cygwin\bin\socat.exe - PROXY:192.168.100.1:\%1:\%2,proxyport=3128 

(192.168.100.1 और 3128 अपनी खुद की प्रॉक्सी आईपी/पोर्ट के साथ की जगह)

: एक स्क्रिप्ट gitproxy.cmd बनाएँ और पथ में सहेजें (: \ msysgit \ cmd \ gitproxy.cmd मैं सी प्रयुक्त)

प्रॉक्सी में निम्नलिखित पंक्ति निष्पादित करें:

git config --global core.gitproxy gitproxy.cmd 

ध्यान दें कि प्रॉक्सी सर्वर Git बंदरगाह (9418) के लिए कनेक्ट आदेश को स्वीकार करना चाहिए। मैं इस काम करने के लिए व्यंग्य विन्यास के लिए निम्न पंक्तियां जोड़ी हैं:

acl SSL_ports port 9418   # git 
acl Safe_ports port 9418  # git 

(यानी कॉन्फ़िगर पोर्ट 9418 में उसी तरह प्रॉक्सी सर्वर में पोर्ट 443 के रूप में)

+0

एफवाईआई, यदि आप एक गिट सर्वर से क्लोनिंग कर रहे हैं जिसमें http गिट एड्रेस है, तो मैं अपने प्रॉक्सी सर्वर पर 'http_proxy' shell variable को बस सेट करके और फिर' गिट क्लोन http 'कर सिगविन की गिट का उपयोग करने में सक्षम था: // github.com/blah/blah.git'।आप जांच सकते हैं कि 'http_proxy' आपके प्रॉक्सी के माध्यम से सिगविन के setup.exe के माध्यम से' wget' इंस्टॉल करके और 'wget www.google.com' कर रहा है। यदि 'http_proxy' सही तरीके से सेट किया गया है, तो वह आदेश एक फ़ाइल डाउनलोड करेगा। –

3

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

पुन: इंस्टॉल करना (पहले विफल, हटाएं नहीं)।

Goto: 
1. msysgit\installer-tmp\etc\gitconfig 
    Under [http] 
     proxy = http://user:[email protected]:port 
2. msysgit\installer-tmp\setup-msysgit.sh 
     export HTTP_PROXY="http://USER:[email protected]:8080" 

अगर आप उपयोगकर्ता में किसी विशेष वर्ण है/उपयोग url_encode

विकल्प 2 पारित: सेट वातावरण चर

HTTP_PORXY = http://proxy.com:8080