2010-07-29 11 views
8

मेरे एक सहयोगी के पास रिमोट गिट रेपो है जिसे मैं क्लोन करना चाहता था और उसने [email protected] का एक यूआरएल प्रदान किया: 443/repo.git। इस मामले में एसएसएच पोर्ट 443 पर सूचीबद्ध है।गिट क्लोन के लिए ssh: // प्रोटोकॉल की आवश्यकता होती है जब शायद यह नहीं होना चाहिए?

मैंने git clone [email protected]:443/repo.git करके क्लोन करने की कोशिश की लेकिन ऑपरेशन का समय समाप्त हो गया। मैंने सोचा था कि गिट डिफ़ॉल्ट रूप से एसएसएच के प्रोटोकॉल के रूप में डिफ़ॉल्ट है और मुझे यकीन नहीं है कि यह क्यों काम नहीं करता है।

यदि मैं स्पष्ट रूप से git clone ssh://[email protected]:443/repo.git जैसे यूआरएल में एसएसएच निर्दिष्ट करता हूं तो यह सामान्य के समान काम करता है।

क्या यह अपेक्षित गिट व्यवहार है? पहला यूआरएल क्यों काम नहीं करता है लेकिन दूसरा दूसरा करता है?

उत्तर

10

हाँ। "डिफ़ॉल्ट" क्लोन सिंटैक्स एसपीपी की तरह है। एसपीपी यूआरएल "उपयोगकर्ता @ होस्ट: पथ" जैसा दिखता है। कोलन नोट करें; यदि आप [email protected]:443/repo.git का उपयोग करते हैं, तो गिट सोचता है कि आप से 443/repo.git पथ को क्लोन करने का प्रयास कर रहे हैं। यदि आपको पोर्ट निर्दिष्ट करने की आवश्यकता है, तो आपको एसएसएच-स्टाइल सिंटैक्स का उपयोग करना होगा (जैसा कि आप कर रहे हैं)।

+2

या बंदरगाह निर्दिष्ट करने के लिए '.ssh/config' का उपयोग करें। –

+0

क्या आपका मतलब है कि प्रत्येक क्लाइंट को अपने '~/.ssh/config' को संपादित करना होगा? क्या हम इस सर्वर-पक्ष नहीं कर सकते? –

संबंधित मुद्दे