2011-03-11 10 views
11

कृपया मेरी अज्ञानता को क्षमा करें; मैं गिट के लिए नया हूं और यह सुनिश्चित नहीं करता कि उत्तर के लिए बेहतर कहां देखना है, लेकिन निम्नलिखित यूआरएल में 'example.com' के बाद कोलन का उद्देश्य क्या है (जो मेरे मध्यस्थ सर्वर पर एक गिट रिपोजिटरी को इंगित करता है)?इस गिट रिपोजिटरी यूआरएल में कोलन का उद्देश्य क्या है?

git remote add repo_name ssh://serveradmin%[email protected]:/home/45678/domains/git.example.com/html/example.git

+2

एक अर्थहीन कोलन की तरह दिखता है। आम तौर पर पोर्ट नंबर का पालन किया जाएगा, लेकिन बिना किसी संख्या के, ** ssh ** (22) के लिए डिफ़ॉल्ट पोर्ट नंबर का उपयोग किया जाना चाहिए। – harpo

+0

आपको लगता है जैसे मुझे लगता है लेकिन यह अर्थहीन नहीं है, इन गिट यूआरएल पथों में से कई में कोलन हैं और मैंने इसे मध्यस्थ दस्तावेज़ीकरण से सीधे कॉपी किया है। यह सामान्य पोर्ट नंबर सूचक चीज़ से कुछ अलग कर रहा है, मुझे लगता है। अगर मैं गलत हूं तो मुझे बताएं। –

+2

मुझे ऐसे यूआरएल पसंद हैं जो नहीं हैं - यह स्पष्ट रूप से अमान्य है क्योंकि "% ex" मान्य प्रतिशत-भाग नहीं है। बिट जहां वे उपयोग करते हैं: // लेकिन जेनेरिक सिंटैक्स का पालन न करें केवल मामूली परेशानी है, और शायद 'एसएसएच उपयोगकर्ता @ होस्ट: पथ' सिंटैक्स (जहां पथ पूर्ण है या आपके घर डीआईआर के सापेक्ष है) से उत्पन्न होता है। –

उत्तर

10

इस वाक्य रचना वास्तव में गलत है के लिए चिह्नित करें, लेकिन यह scp शैली वाक्य रचना, कहाँ से होस्ट नाम को अलग करती है कि आप Git यूआरएल में उपयोग कर सकते हैं की तरह एक सा उस मेजबान पर पथ। गिट यूआरएल निर्दिष्ट करने के लिए आपके विकल्प git clone documentation में सूचीबद्ध हैं। आपके मामले में आप शायद बजाय निम्न में से एक हैं:

serveradmin%[email protected]:/home/45678/domains/git.example.com/html/example.git 

... या:

ssh://serveradmin%[email protected]/home/45678/domains/git.example.com/html/example.git 

या तो मामले में, उपयोगकर्ता नाम serveradmin%example.com है, होस्टनाम example.com और कहा कि मेजबान पर मार्ग है /home/45678/domains/git.example.com/html/example.git है।

+0

रुको, सिंटैक्स वास्तव में गलत कहां है? आपका पहला उदाहरण मैंने पोस्ट किए जैसा ही दिखता है। मुझे लगता है कि मुझे कुछ भी पता नहीं है। और मुझे इस "एसपीपी-स्टाइल सिंटैक्स के बारे में और बताएं जिसे आप गिट यूआरएल में उपयोग कर सकते हैं" - मुझे नहीं पता कि यह क्या है। यदि आप मुझे दस्तावेज़ीकरण के लिए इंगित कर सकते हैं, जो मदद करता है। जब मैंने जानबूझकर इन कोलों के बारे में सवाल पूछा तो मुझे कुछ गिट-विशिष्ट या एसएसएच-विशिष्ट वाक्यविन्यास करने के लिए कुछ था; मुझे लगता है कि मैं सही हो सकता था, लेकिन अभी तक एक निश्चित जवाब नहीं रहा है। (मैं सभी उत्तरों की सराहना करता हूं, जो भी मामला है।) –

+2

मेरे पहले उदाहरण में शुरुआत में 'ssh: //' नहीं है, जबकि आपका कोई भी करता है। आपको संस्करण * में '' '' 'ssh: //' के बिना अनुमति दी गई है। गिट रिपॉजिटरीज को संदर्भित करने के लिए आप जिन यूआरएल का उपयोग कर सकते हैं, उनके बारे में एकमात्र दस्तावेज 'गिट क्लोन' मैन पेज में है जिसे मैंने अपने उत्तर में लिंक किया है। 'scp' एसएसएच पर फ़ाइलों की प्रतिलिपि बनाने के लिए एक कमांड लाइन उपकरण है जो आपको 'उपयोगकर्ता @ होस्ट: फ़ाइल नाम' के रूप में दूरस्थ सिस्टम पर फ़ाइलों का स्थान निर्दिष्ट करने की आवश्यकता होती है। चूंकि 'एसपीपी' व्यापक रूप से लोगों के लिए उपयोग और परिचित है, इसलिए गिट आपको रिपोजिटरी के साथ-साथ सख्त यूआरएल संस्करण निर्दिष्ट करने के लिए इसका उपयोग करने की अनुमति देता है। –

+0

स्पष्टीकरण के लिए धन्यवाद। मैंने गिट का उपयोग करने से पहले कभी भी एसपीपी का इस्तेमाल नहीं किया था, इसलिए यह मुझसे परिचित नहीं था; मैं आपकी व्याख्या की सराहना करता हूं। मैं इसे उत्तर के रूप में स्वीकार कर रहा हूं। –

4

यह पथ से (सर्वर) होस्ट नाम (रेपो करने के लिए) को अलग करती है के रूप में समझाया here

+0

लिंक के लिए धन्यवाद। यह हल होने की तुलना में अधिक प्रश्न (मेरे लिए) उठा सकता है। यदि कोलन यूआरआई योजना का हिस्सा है, और एक यूआरआई योजना है, जैसा कि लिंक में वर्णित है: ': <पदानुक्रमित भाग> [? ] [# ] 'फिर योजना का नाम कहां है? मैंने सोश सोचा: यहां योजना का नाम हो सकता है। आम तौर पर एक होस्टनाम को स्लैश द्वारा पथ से अलग किया जाता है, है ना? मैं पोर्ट नंबर से पहले एक कोलन देखने के आदी हूं, जैसा कि @harpo ऊपर उल्लेखित है, लेकिन एक नि: शुल्क खड़ा कॉलन मेरे लिए नया है। आप मुझे बता रहे हैं कि यह एक गिट चीज नहीं है बल्कि यूआरआई का मानक तत्व है? –

+0

गिट-क्लोन मैन पेज को देखते हुए ऐसा लगता है कि यह वास्तव में एक scp-like वाक्यविन्यास हो सकता है जो गिट द्वारा समर्थित है http://www.kernel.org/pub/software/scm/git/docs/git-clone.html – objects

+0

मुझे लगता है कि आपका उत्तर सही हो सकता है, लेकिन आपकी व्याख्या (एक पृष्ठ से लिंक करना जो सामान्य रूप से यूआरआई के बारे में बहुत सारी जानकारी शामिल करता है) सहायक से अधिक भ्रमित है। –

0

पेट के अंकन जो git करने के लिए स्ट्रिंग के बाद भंडार आप करना चाहते हैं परिभाषित करता है इंगित करता है बात करना।

संपादित करें: ठीक है देखा

हम देख सकते हैं दूरदराज के ऐड इस प्रकार है:

git remote add [-t <branch>] [-m <master>] [-f] [--tags|--no-tags] [--mirror] <name> <url> 

और अपने उदाहरण है:

git remote add repo_name ssh://serveradmin%[email protected]:/home/45678/domains/git.example.com/html/example.git 

जहां 'नाम' 'repo_name' है

और यूआरएल बड़ी स्ट्रिंग

है

ssh: //serveradmin%[email protected]: /home/45678/domains/git.example.com/html/example.git

जो और भी अधिक स्पष्ट है जब हम देखते हैं यह है शुरुआत में एसएसएच प्रोटोकॉल परिभाषा।

एक यूआरएल में आप आगे बढ़ने वाले पोर्ट वैल्यू के बिना कोलन को परिभाषित कर सकते हैं और उस प्रोटोकॉल के लिए डिफ़ॉल्ट पोर्ट आमतौर पर पोर्ट नंबर के रूप में उपयोग किया जाता है जो कि यहां क्या हो रहा है।

इसलिए प्रश्न के लिए मार्कअप और हार्पो की टिप्पणी

+0

मुझे लगता है कि यह जवाब हो सकता है, लेकिन यदि कोई स्ट्रिंग नहीं है तो इसका क्या अर्थ है? –

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