Git’teki commit geçmişini temizlemek genellikle mantıklı bir hareket olmamakla beraber bazı durumlarda gerekli olabiliyor. Aşağıdaki komutlar geri dönüşü olmayan kalıcı sonuçlar yaratacak ve işlenecek commit, reponuzun ilk commiti olacak; bunun bilincinde hareket edin.
Yetim Bir Dal Oluşturun - Yeni bir dal oluşturacağız ve bu dal git branch
komutunda görünmeyecek.
git checkout --orphan yeni_dal
Tüm Dosyaları Yeni Dala Ekleyin - Mevcut dosyaların hepsini yeni oluşturduğumuz dala ekleyeceğiz.
git add -A
Yapılan Değişiklikler İçin Bir Commit Oluşturun - Tüm dosyaları yeni dala ekledikten sonra değişiklikleri işleyeceğiz.
git commit -am "Yeni commit mesajı"
Eski (Master) Dalı Silin - Artık mevcut dalımızı temizleyebiliriz. Burada mevcut dalımızın master olduğunu varsaydım. Sizinkisi master, main veya tamamen başka bir dal olabilir. Kendi dalınızı bildiğinizi düşünüyorum.
git branch -D master
Mevcut Dalınızın Adını Değiştirin - yeni_dal adı ile oluşturduğumuz dalın adını sildiğimiz master dalının yerini alması için master adıyla değiştireceğiz.
git branch -m master
Değişikleri Pushlayın - Tüm bu değişiklikleri yerel reponuzda yapmıştık. Şimdi bu değişikleri uzak repoya (zorla) gönderme zamanı geldi.
git push -f origin master
Artık reponuzda en son işlediğimiz “Yeni commit mesajı” dışında bir commit olmayacak.