BİLGİ SAYAMIYORUM beta

Git kullanırken, ana projeye eklemediğiniz (push) ama tamamladığınız (commit) değişikliklerini nasıl değiştirebilirsiniz?

0

Git in temel olarak amacı versiyon takip etmek, yani yaptığınız işin her aşamasının ne zaman yapıldığını, kim tarafından yapıldığını kayıt altına almak. Çoğunlukla fazlasıyla yardımcı ve günü kurtarıcı etkileri var ancak başlarken biraz kafa karıştıran yanları da oluyor. Çok problem değil, sunucuda hepsi var, bunun sebebi de tamamladığınız her değişikliği önce ben bir iş bitirdim deyip, yerel olarak commit liyorsunuz. Ardından da bunları ana dallanmaya push et diyerek süreci tamamlıyorsunuz. Tabii ki bunlar her zaman çok yumuşak geçmiyor mesela yaptığınız bir değişikliği commit ettikten sonra, eklemeyi unuttuğunuz yerleri fark ettiniz ya da yanlışlıklar yaptınız ve onları ana projeye bu halde push edip sonra ikinci bir commit-push sürecine girmek istemiyorsunuz. Sorun değil yaptığınız commite ekleme yapabilirsiniz.

İlk önce yapmak istediğiniz değişiklikleri projenizin son hali üzerinden yapın. Daha sonra eğer commit mesajını değiştirmeden yaptığınız son commiti onarmak isterseniz:

git commit --amend -C HEAD

Eğer commit mesajını terminal üstünden yazarak değiştirmek isterseniz burdaki ilk satırı yazın ancak dosyaların da üstünde yazılarak değiştirilmesini istiyorsanız "-a" parametresini kullanın, bunu tabii ki diğer satırlarda da kullanabilirsiniz:

git commit --amend -m "Yeni Mesaj!"
git commit -a --amend -m "Yeni Mesaj!"

Eğer commit mesajını editor üstünden değiştirmek isterseniz de buradaki ilk satırı yazın, ancak commit mesajı değişmesin ve commit ID si aynı kalsın derseniz önceki commit inizin hash ini (mesela d792122) kullanarak ikinci satırı yazın:

git commit --amend
git commit --amend -c oncekiHash

Commit değiştirme işi aslında son yapılan için bazen gerekli olsa da 3-4 tane öncesine gitmek isteyeceğiniz durumlar da olabilir. Yaptığı şey biraz daha farklı olduğu için sık kullanmanızı tavsiye etmem ama rebase birden fazla commit (mesela 4) geriye gitmek için kullanılabilinir:

git rebase -i HEAD~4

Bu editörünüzü açar, istediğiniz commit e gidin, pick diyerek seçin, değişikliği yaptıktan sonra şunları yazarak devam edin:

git commit --amend
git rebase --continue

Tabii ki her zaman son yaptığınız commit i şu şekilde tamamen yok etme imkanına da sahipsiniz:

git reset --hard HEAD^

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER