Logo

Tüm Git Geçmişini Temizleme

16 Mart 2024
2 dk okuma
tum-git-gecmisini-temizleme

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.

Terminal window
git checkout --orphan yeni_dal

Tüm Dosyaları Yeni Dala Ekleyin - Mevcut dosyaların hepsini yeni oluşturduğumuz dala ekleyeceğiz.

Terminal window
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.

Terminal window
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.

Terminal window
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.

Terminal window
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.

Terminal window
git push -f origin master

Artık reponuzda en son işlediğimiz “Yeni commit mesajı” dışında bir commit olmayacak.