2014-11-04 4 views
7

गिट में, मेरे पास एक शाखा A है। मैं एक और शाखा B बनाता हूं जहां मैं कुछ काम करता हूं। फिर मैं शाखा B पर शाखा को आगे बढ़ाना चाहता हूं।क्या यह जांच कर बिना किसी अन्य शाखा को आगे बढ़ाना संभव है?

मुझे पता है कि मैं A चेकआउट कर सकता हूं और B की नवीनतम प्रतिबद्धता के लिए तेज़ी से आगे बढ़ सकता हूं। इस ऑपरेशन को काम करने की प्रतिलिपि के दो संशोधनों की आवश्यकता है: A पर वापस लौटने वाला पहला और फिर कार्य प्रतिलिपि को B पर वापस लाएं। यदि B पर नया काम करता है तो बहुत सारे बदलाव होते हैं, ऑपरेशन काफी धीमा हो सकता है।

क्या कामकाजी प्रति को बदले बिना किसी अन्य शाखा को तेजी से आगे करना संभव है? (दूसरे शब्दों में, बस A का सूचक ले जाने के लिए)

+1

'गिट अपडेट-रेफरी '। सावधानी से प्रयोग करें। –

+0

@AndrewC इसे एक उत्तर के रूप में जोड़ें। –

उत्तर

3

Git इस उद्देश्य के लिए update-ref आदेश प्रदान करता है

git update-ref A B 

नोट: यह आदेश निचले स्तर Git आदेशों में से एक है और किसी भी प्रदान नहीं करता है अपने आप को खराब करने से बचाने के लिए सुरक्षा उपाय। यदि बी ए के फास्ट-फॉरवर्ड नहीं है तो यह अभी भी ए अपडेट करेगा, संभावित रूप से काम करने योग्य नहीं है और कचरा संग्रह के अधीन है।

+0

@Zeeker का कहना है कि यह अब काम नहीं करता है: http://stackoverflow.com/questions/26752567/is-it-better-to-use-git-branch-f-or-git-update-ref-to-fast -forware-current-bra # comment42096589_26752567 –

+2

उस क्षण को जादुई रूप से गायब नहीं किया जा रहा है जब आप 'अपडेट-रेफरी' या ऐसा कुछ भी करते हैं। लेकिन वे पहुंचने योग्य नहीं हो सकते हैं, और एक बार ऐसा होने पर सामान्य कचरा संग्रहण नीतियों के अधीन होते हैं। –

+0

हम्म .. मुझे यह करना है, लेकिन नग्न अद्यतन-रेफरी का उपयोग करने के लिए पर्याप्त नहीं है। :-( – Thilo

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