क्या मैं निम्नलिखित कार्य सरल तरीके से कर सकता हूं?
git checkout origin/master
git branch -D master
git branch master
git checkout master
क्या मैं निम्नलिखित कार्य सरल तरीके से कर सकता हूं?
git checkout origin/master
git branch -D master
git branch master
git checkout master
जवाबों:
के रूप में KindDragon के जवाब का उल्लेख है, आप पुन: कर सकते हैं master
पर सीधे origin/master
के साथ:
git checkout -B master origin/master
git checkout
आदमी पेज का उल्लेख है:
यदि -B
दिया जाता है, <new_branch>
तो बनाया जाता है यदि यह मौजूद नहीं है; अन्यथा, यह रीसेट है । यह लेन-देन के बराबर है
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
मूल रूप से सुझाया गया:
कुछ इस तरह:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
चरण 2 वैकल्पिक होने के साथ।
Git इस आदेश का समर्थन करता है:
git checkout -B master origin/master
की जाँच करें origin/master
शाखा और उसके बाद रीसेट master
शाखा वहाँ।
git fetch origin master
सुनिश्चित करने के लिए पहले से origin/master
अपडेट नहीं है?
git fetch
पहले करना चाहिए
मुझे लगता है कि इस विकल्प की तुलना में VonC के जवाब में भी जटिलता है:
git update-ref refs/heads/master origin/master
git reset --hard master
git स्वचालित रूप से रेफ के प्रत्येक मान (रिफ्लग के माध्यम से) को लॉग करता है। इसलिए जब आप उस कमांड को चलाते हैं, तो master@{1}
मास्टर के पिछले मूल्य को संदर्भित करता है।
VonC का उत्तर सही है, लेकिन यह फाइल सिस्टम में मास्टर के पुराने मान को चेक आउट करने में समय बर्बाद करता है।
यदि आप रेपो में अनाथ वस्तुओं की परवाह करते हैं, तो आप दौड़ सकते हैं git gc
Already on 'master'
यदि आप पहले से ही हैं तो आप master
निम्न कार्य कर सकते हैं:
git reset --hard origin/master
यह स्थानीय master
शाखा को रिमोट को इंगित करेगा origin/master
और काम करने वाले डायर में किसी भी संशोधन को छोड़ देगा।
git checkout -B master origin/master
?