ऐसा करने के लिए एक प्रतिबद्ध ग्राफ मानते हुए:
| (A) ---------> (B) ----------> (C)
| ^
| (master)
आप पहले चेकआउट करना चाहते हैं masterऔर एक शाखा बनाना चाहते हैं जो masterवर्तमान में है:
git checkout master
git branch pointer master
अब इस तरह दिखना चाहिए:
| (A) ---------> (B) ----------> (C)
| ^
| (HEAD, master, pointer)
अब जब आप पहले से ही हैं master, तो हम 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)