git merge origin/master
दो चीजों में से एक (या त्रुटि) कर सकता है।
पहले मामले में, यह एक नई प्रतिबद्धता बनाता है जिसमें दो माता-पिता हैं: वर्तमान HEAD
, और प्रतिबद्धता origin/master
द्वारा इंगित की गई है (जब तक कि आप कुछ मजेदार नहीं कर रहे हैं, यह संभव है (स्थानीय सूचक करने के लिए master
नाम की शाखा origin
नामक रिमोट पर है, हालांकि यह पूरी तरह से पारंपरिक है)।
दूसरे मामले में, जहां कोई नई प्रतिबद्धता बनाने के बजाय कोई वृक्ष-स्तर विलय आवश्यक नहीं है, तो वर्तमान में चेक-आउट रेफरी को उसी प्रतिबद्धता को इंगित करने के लिए अद्यतन किया जाता है जैसा कि origin/master
द्वारा इंगित किया गया है। (इसे कहा जाता है फास्ट-फॉरवर्ड विलय - गिट को या तो आदेश दिया जा सकता है या जब आप कमांड लाइन झंडे के माध्यम से विलय करते हैं तो कभी भी ऐसा नहीं किया जा सकता है)।
यह सीधे git commit
पर कॉल नहीं करता है, जो कि उच्च-स्तर (चीनी मिट्टी के बरतन गिट-पार्लान्स में) कमांड उपयोगकर्ताओं के लिए लक्षित है।
कॉलिंग git merge master/original
कोशिश करते हैं और करने के लिए master/original
का समाधान हो जाएगा एक प्रतिबद्ध है, जो लगभग निश्चित रूप से (फिर से, जब तक आप कुछ जानबूझकर किया है) होगा नहींorigin/master
रूप में ही हो। यदि आपके पास रिमोट नाम master
है जिसमें original
नाम की शाखा है, तो यह एक नई प्रतिबद्धता बनाएगी जिसमें दूसरे माता-पिता के रूप में होगा।
आपको git help rev-parse
मिल सकता है ताकि यह समझने में सहायता मिल सके कि गिट रीफ नाम या अन्य नोटेशन को हल करने का प्रयास कैसे करता है।
स्रोत
2012-06-21 01:25:42
आपको वास्तव में [पुस्तक] (http://git-scm.com/book/en/Git- ब्रांचिंग- रिमोट- शाखाओं) के माध्यम से स्वयं को काम करना चाहिए। – kostix