যেমন একটি কমিট গ্রাফ ধরে:
| (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)