2011-01-15 23 views
14

पर रिमोट मास्टर पॉइंट बनाते हैं हमें एक 'देव' शाखा मिली है जो काफी समय से डी-फैक्टो मास्टर के रूप में काम कर रही है।गिट एक और शाखा

क्या मेरे रिमोट/मास्टर को दूरस्थ/dev के समान स्थान पर इंगित करने का कोई तरीका है? (कोई विलय/रिबेसिंग/अतिरिक्त काम नहीं)।

(अधिक या गुरु को देव के नाम बदलने कम)

अग्रिम धन्यवाद

उत्तर

19

चेकआउट मास्टर शाखा, इसे रीसेट देव को, पुश। इससे उपयोगकर्ताओं को डाउनस्ट्रीम प्रभावित होगा, जिनके पास आपके रिमोट/मास्टर से शाखाएं हो सकती हैं।

git checkout master 

git reset --hard remote/dev 

git push -f 

यह आपको के बाद से अपने दूरस्थ और देव अलग हुए किसी भी प्रतिबद्ध आपके द्वारा किए गए खो देंगे, लेकिन आप रिमोट/dev रूप में एक ही राज्य के साथ खत्म हो जाएगा।

+0

बस सत्यापित करने के लिए - मैं सभी गुरु लेकिन सभी इतिहास रखने के लिए प्रतिबद्ध खो देंगे देव शाखा का? – Boris

+0

हाँ, मुझे यकीन है। – RJFalconer

+0

यह मेरे लिए काम करता था, और फिर मैंने पुरानी शाखा को 'गिट पुश उत्पत्ति' के साथ पुरानी शाखा को हटाने के लिए @ रोमन का तरीका इस्तेमाल किया: रेफ/हेड/देव' – knocte

6

मानते हुए अपने रिमोट origin

git push origin +origin/dev:refs/heads/master 

फिर नाम पर है, अगर आप भी dev हटाना चाहते हैं:

git push origin :refs/heads/dev 
+1

संभवतः आप भी अपना स्थान लेना चाहेंगे स्थानीय मास्टर, शायद एक हार्ड रीसेट के साथ। (जिस बिंदु पर आपने अभी भी आरजेफलकनर द्वारा सुझाए गए कार्यों को भी किया होगा।) – Cascabel

+1

@ जेफ्रोमी: यह स्थानीय भंडार की संरचना के बारे में और अधिक धारणा करता है। उदाहरण के लिए, यह कल्पना करना मुश्किल नहीं है कि अपस्ट्रीम के 'मास्टर' में कोई गतिविधि नहीं होने पर स्थानीय 'मास्टर' शाखा बस मौजूद नहीं है। आम तौर पर, स्थानीय और दूरस्थ शाखाओं के बीच मैपिंग मनमाने ढंग से होती है, हालांकि ज्यादातर लोग वास्तव में इसे सीधे रखते हैं। –

+0

एक वैध बिंदु। मैंने मान लिया कि उसके पास "रिमोट/मास्टर" से मेल खाने के लिए "मास्टर" होगा। एक बड़ी धारणा नहीं है, लेकिन फिर भी एक धारणा है। – RJFalconer

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