2010-03-27 10 views
26

क्या यह "विकल्प का अंत" है, मुझे बैश में देखने के लिए उपयोग किया जाता है (और यदि हां, हम इसका उपयोग क्यों करते हैं) या क्या यह इंडेक्स या हेड के लिए गिट नोटेशन है?"गिट चेकआउट - फाइलें" में, "-" का क्या अर्थ है?

उत्तर

39

-- पथ को अन्य विकल्पों से अलग करता है। documentation से:

git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>... 

इस अंकन मौजूद नहीं हुआ है के बाद दो आदेशों अस्पष्ट होगा:

git checkout <tree-ish> <path1> <path2> 
git checkout <path1> <path2> <path3> 

-- अंकन यह स्पष्ट है जिसका अर्थ यह है के साथ:

git checkout <tree-ish> -- <path1> <path2> 
git checkout -- <path1> <path2> <path3> 

उपरोक्त से जुड़े दस्तावेज़ों में example शामिल है जब आपको इसकी आवश्यकता हो सकती है:

$ Git चेकआउट hello.c

आप एक दुर्भाग्यपूर्ण शाखा है, जो hello.c नाम पर है है, इस कदम है कि शाखा करने के लिए स्विच करने के लिए एक निर्देश के रूप में भ्रमित हो जाएगा। इसके बजाय आप लिखना चाहिए:

$ Git चेकआउट - hello.c

+2

बेशक, आप एक रास्ता '-f' कहा जाता है, ऐसे ही कारण है कि आप एक मार्ग कहा जाता है की जरूरत है, अन्य प्रश्न उठाता है, तो' - f'। :) –

+0

@ जॉन फेमिनेला: सच है, मुझे आशा है कि एक बेहतर उदाहरण मिलेगा। –

+0

- न केवल विकल्पों से पथ को अलग करता है। आपको भी उस विभाजक को फ़ाइल से अलग करने के लिए - गिट चेकआउट - --' में अलग करने की आवश्यकता है। –

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