Böyle bir commit grafiği varsayarsak:
| (A) ---------> (B) ----------> (C)
| ^
| (master)
Önce ödeme yapmak masterve masterşu anda nerede olduğunu gösteren bir şube oluşturmak istiyorsunuz :
git checkout master
git branch pointer master
Şimdi şöyle görünmeli:
| (A) ---------> (B) ----------> (C)
| ^
| (HEAD, master, pointer)
Artık zaten devam ettiğinize göre master, masterşubeye bir işlem geri gitmesini söyleyeceğiz :
git reset master~1
Şimdi, masterbir boşluk geri taşınmalı, ancak pointerdal hala en son işlemdedir:
| (A) ---------> (B) ----------> (C)
| ^ ^
| (HEAD, master) (pointer)
Bu noktada, masterbir uzaktan kumandaya itebilir veya herhangi bir yerde hızlı ileri sararak onu tekrar pointerdalda birleştirebilirsiniz . Bu pointernoktada dalı öldürebilirsiniz :
git push origin master
git merge --ff-only pointer
git branch -D pointer
Final:
| (A) ---------> (B) ----------> (C)
| ^ ^
| [ origin/master ] (HEAD, master)