2012-01-22 14 views
104

में मास्टर के खिलाफ पुरानी शाखा अपडेट करें मेरे पास एक गिट रिपोजिटरी है जिसमें शाखा (स्थानीय और दूरस्थ) पुरानी हो गई है। मैं इस शाखा को मास्टर शाखा के साथ अद्यतित करना चाहता हूं, लेकिन मुझे नहीं पता कि यह कैसे करना है। शायद कई विलय संघर्ष भी होंगे।एक गिट रेपो

मैं इस शाखा को मास्टर शाखा के समान राज्य में कैसे ला सकता हूं या अपडेट कर सकता हूं?

+1

यदि आप यहां गिट रेपो में मास्टर के खिलाफ पुरानी शाखा को अपडेट करने के तरीके के बारे में जानने के लिए यहां आए हैं, तो यदि आपने स्थानीय शाखा में कोई बदलाव किया है तो बस "गिट पुल" – shabby

उत्तर

132

मास्टर शाखा अपडेट करें, जिसे आपको परवाह किए बिना करने की आवश्यकता है।

फिर, में से एक:

  1. मास्टर शाखा के खिलाफ वर्ष शाखा रिबेस। रिबेस के दौरान मर्ज विवादों को हल करें, और नतीजा एक अद्यतित शाखा होगी जो मास्टर के खिलाफ स्पष्ट रूप से विलीन हो जाएगी।

  2. अपनी शाखा को मास्टर में मर्ज करें, और विलय विवादों को हल करें।

  3. अपनी शाखा में मास्टर मर्ज करें, और मर्ज विवादों को हल करें। फिर, अपनी शाखा से मास्टर में विलय करना साफ होना चाहिए।

इनमें से कोई भी दूसरे की तुलना में बेहतर नहीं है, उनके पास अलग-अलग व्यापार-बंद पैटर्न हैं।

मैं रिबेस दृष्टिकोण का उपयोग करूंगा, जो मेरी राय में बाद के पाठकों को क्लीनर समग्र परिणाम देता है, लेकिन यह व्यक्तिगत स्वाद से अलग नहीं है।

rebase और शाखा तुम रखने के लिए:

git checkout <branch> && git rebase <target> 

आपके मामले में,

git rebase master 

वर्ष शाखा की जाँच, तो यह मास्टर के खिलाफ फिर से बनाया मिलता है।

+0

रीबेज करने और रखने का आदेश क्या है शाखा? – Andrew

+1

@Andrew: 'git rebase' :) – CharlesB

+1

' गिट चेकआउट $ शाखा और गिट रीबेज $ लक्ष्य' - अपने मामले में, पुरानी शाखा देखें, फिर मास्टर के खिलाफ पुनर्निर्मित करने के लिए 'गिट रीबेस मास्टर' देखें। –

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