मान लिया जाये कि एक तो जैसे ग्राफ प्रतिबद्ध:
| (A) ---------> (B) ----------> (C)
| ^
| (master)
आप पहले master
चेकआउट करना चाहते हैं और एक शाखा बनाएं जो master
curre कहां इंगित करे ntly है:
git checkout master
git branch pointer master
अब इस तरह दिखना चाहिए: अब जब कि तुम master
की कगार पर हैं
| (A) ---------> (B) ----------> (C)
| ^
| (HEAD, master, pointer)
, हम ले जाने के लिए पीछे की ओर एक प्रतिबद्ध master
शाखा बता दूँगा:
git reset master~1
अब, master
को एक स्थान वापस ले जाना चाहिए, लेकिन pointer
शाखा अभी भी सबसे हालिया प्रतिबद्धता पर है:
| (A) ---------> (B) ----------> (C)
| ^ ^
| (HEAD, master) (pointer)
इस बिंदु पर, आप किसी दूरस्थ, या जहां कभी करने के लिए master
धक्का कर सकते हैं, तो तेजी से आगे इसे वापस मर्ज pointer
शाखा पर निर्भर है। आप उस बिंदु पर pointer
शाखा को मार सकता है:
git push origin master
git merge --ff-only pointer
git branch -D pointer
अंतिम:
| (A) ---------> (B) ----------> (C)
| ^ ^
| [ origin/master ] (HEAD, master)
यह काम नहीं करेगा। 'गिट रीसेट - हार्ड' ने अपनी मास्टर शाखा को पुरानी प्रतिबद्धता पर वापस इंगित किया, इसलिए 'गिट चेकआउट मास्टर' कुछ भी नहीं करेगा। – jtdubs
सच है, सुधार के लिए धन्यवाद। आपको +1, मेरा जवाब भी हटा देगा लेकिन मुझे लगता है कि 'प्रतिबद्ध - आदेश' चरण पर्याप्त उपयोगी है –
'--amend' क्या है? – Shafizadeh