Not: Bu işlem tüm geçmişi tamamen sileceği için, komutları uygulamadan önce “.git” klasörünü yedek almanızı tavsiye ederim.
Geçici branch’e geçiş:
--orphan; komutu üst öğesi olmayan yani geçmişi temiz olan bir branch açmak için kullanılanılır.
$ git checkout --orphan tmp
Tüm dosyaları ekleme:
Yeni temiz (herhangi başka bir branch ile bağlantısı olmayan) branch oluşturduğumuz için aşağıdaki komutları uyguluyoruz.
# -A komutu ile tüm dosyaları ekliyoruz
$ git add -A
$ git commit -am "first commit"
Master branch’i silme ve Geçici branch’imizin adını master olarak değiştirme:
# master branch'imizi local olarak silelim (bu komut remote'daki master reposunu silmez)
$ git branch -D master
# tmp olan Branch adımızı master olarak değiştirelim
$ git branch -m master
Master branch’ine değişiklikleri yollama:
$ git push -f origin master
Kaynak: https://medium.com/@cengizhanc/github-commit-history-temizleme-926ed7cff348