2012-08-02 19 views
14

मैं चलाएँ:Git चेकआउट अन्य शाखा

git checkout mygithub/master 

लेकिन किसी कारण से, चल रहा 'Git स्थिति' 'वर्तमान में नहीं किसी भी शाखा पर "को दर्शाता है। चल रहा है:

git checkout master 

और फिर git status का कहना है कि मैं शाखा मास्टर पर अब कर रहा हूँ। अब मैं दूसरी शाखा में स्विच करना चाहता हूं। चल रहा है git checkout anotherbranch काम करता है, लेकिन git status कहता है कि मैं अभी भी शाखा 'मास्टर' पर हूं। मैं क्या गलत कर रहा हूं?

+0

क्या कोई अन्य आउटपुट 'गिट चेकआउट' आउटपुट करता है? – poke

+0

यह कोई आउटपुट दिखाता है, कोई त्रुटि नहीं। – NoBugs

उत्तर

18

mygithub/master एक दूरस्थ शाखा है। उस दूरस्थ शाखा के आधार पर स्थानीय शाखा बनाने के लिए, आपको git checkout -b mymaster mygithub/master का उपयोग करना होगा। गिट आपके लिए यह आसान बनाने की कोशिश करता है: यदि आप git checkout branchname लिखते हैं, और ब्रैनchnम केवल रिमोट में मौजूद है, लेकिन स्थानीय रूप से नहीं, तो गिट स्वचालित रूप से <remote>/branchname के साथ स्थानीय शाखा स्थापित कर देगा।

+0

तो गिट चेकआउट ब्रैनchnम कभी इस पर क्यों स्विच नहीं करता है? शाखा गितूब पर मौजूद है, मैं बस इसमें मास्टर परिवर्तनों को मर्ज करना चाहता हूं। – NoBugs

+0

@ नोबग्स: 'गिट चेकआउट -बी रिमोटमेस्टर माईजिथब/मास्टर' को 'mygithub/master' से एक नई शाखा बनाना चाहिए और उस पर स्विच करना चाहिए। – knittl

+0

'गिट चेकआउट -बी अन्य ब्रैंच माईगिथब/अन्य ब्रांच 'काम करता है, लेकिन' गिट मर्ज मायगिथब/मास्टर '' फास्ट फॉरवर्ड 'करना चाहता है और गैर-मास्टर से फ़ाइलों को हटा देना चाहता हूं, जिसे मैं रखना चाहता हूं। – NoBugs

9

आप तो इस आदेश को चलाने के किसी अन्य शाखा करने के लिए स्विच करना चाहते हैं:

git branch -D branch name 

आप एक नया बनाना चाहते हैं:

git checkout branch name 

आप तो इस आदेश को चलाने के एक शाखा को हटाना चाहते हैं शाखा तब इस आदेश को चलाएं:

git checkout -b branch 
संबंधित मुद्दे