Git 2.15 (Q4 2017) के साथ, " git branch" सीखा " -c/-C" एक मौजूदा को कॉपी करके एक नई शाखा बनाने के लिए।
देखें प्रतिबद्ध c8b2cec (18 जून 2017) द्वारा Ævar Arnfjörð Bjarmason ( avar) ।
देखें 52d59cc प्रतिबद्ध , 5463caa प्रतिबद्ध द्वारा (18 जून 2017) साहिल दुआ ( sahildua2305) ।
(द्वारा विलय Junio सी Hamano - gitster- में प्रतिबद्ध 3b48045 , 03 अक्टू 2017)
branch: एक जोड़ने --copy( -cसाथ जाने के लिए) विकल्प --move( -m)
--copyएक शाखा और उसके रिफ्लॉग और कॉन्फ़िगरेशन की क्षमता को जोड़ें , यह उसी अंतर्निहित मशीनरी का उपयोग करता है जैसे --move( -m) विकल्प को छोड़ कर रिफ्लेग और कॉन्फ़िगरेशन को स्थानांतरित करने के बजाय कॉपी किया जाता है।
यह एक विषय शाखा को नए संस्करण में कॉपी करने के लिए उदाहरण के लिए उपयोगी है, उदाहरण के workलिए विषय को सूची में work-2सबमिट करने के बाद work, सभी ट्रैकिंग जानकारी और अन्य कॉन्फ़िगरेशन को संरक्षित करते हुए, जो शाखा के साथ जाती है, और इसके विपरीत --moveअन्य पहले से ही प्रस्तुत शाखा को रखने के लिए। संदर्भ।
नोट: किसी शाखा की नकल करते समय, आप अपनी वर्तमान शाखा पर बने रहते हैं।
जैसा कि जूनियो सी हमानो बताते हैं:
वर्तमान शाखा होने वाली Bशाखा की नकल करके एक नई शाखा बनाते समय A, यह HEADनई शाखा को इंगित करने के लिए भी अद्यतन करता है।
इसे संभवत: इस तरह बनाया गया था क्योंकि " git branch -c A B" पिग्गीबैक ने इसके कार्यान्वयन को " git branch -m A B",
यह सामान्य अपेक्षा से मेल नहीं खाता है।
यदि मैं एक नीली कुर्सी पर बैठा था, और कोई व्यक्ति आता है और उसे लाल रंग से रंगता है, तो मैं उस कुर्सी पर बैठना स्वीकार करूंगा जो अब लाल है (मैं भी खड़ा होना ठीक हूं, इसके बजाय, अब मेरी पसंदीदा नीली कुर्सी नहीं है )।
लेकिन अगर कोई नई लाल कुर्सी बनाता है, तो मैं जिस नीली कुर्सी पर बैठा हूं, उसके बाद वह मॉडलिंग करता है, मुझे उम्मीद नहीं है कि वह नीली कुर्सी से बूट हो जाएगा और नए लाल पर बैठने पर समाप्त होगा।
git branch -c A B। देखें नीचे मेरा उत्तर