Tüm Git Geçmişini Temizleme


yazıldı

bir dakikadan az okuma süresi

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.