Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

Projedeki Git Dosyaları Nasıl Silinir?

1 min read

git dosyaları nasıl silinir



Versiyon kontrol sistemleri günümüzün vazgeçilmez geliştirme aracıdır. Şüphesiz ki .git için de bu konunun öncüsü ve hatta olmazsa olmazı diyebiliriz. Bununla birlikte bazen .git ile güncellemelerini kontrol ettiğimiz bir projenin (reponun) içindeki tüm .git dosyalarını silmek isteyebiliriz. Neden derseniz kimi zaman yalın bir proje sürümü gerekebiliyor. İşte böyle bir durumda kullanabileceğiniz konsol komutlarını sizinle paylaşmak istiyorum.

Projedeki .git Dosyalarını Bulmak

Herhangi bir proje klasöründe .git ile kullanmaya başladığınızda temel olarak projenin root dizininde .git isimli bir klasör oluşturur. Ancak sanmayın ki tek .git dosyası budur. Bununla birlikte alt modül dosyaları ve .gitignore dosyaları da alt klasörlerde bulunabilir. İşte projemizde .git tarafından oluşturulan dosyaları bulmak için terminalde (konsolda) aşağıdaki komutu çalıştırabiliriz.

find . -type d -name ".git" \
&& find . -name ".gitignore" \
&& find . -name ".gitmodules"

Bu komutun çıktısı aşağıdaki gibi olacaktır.

./.git
./.gitmodules
./klasor1/.git
./klasor2/.git
./klasor2/.gitignore

Projedeki .git Dosyalarını Silmek

Yukarıda klasör içerisindeki .git ile ilgili dosyaların nasıl bulunacağını gördünüz. Bunları dilerseniz tek tek silebilir, dilerseniz de aşağıdaki komutu kullanabilirsiniz. Tabi öncelikle şu uyarıyı yapmalıyım. Aşağıdaki komutun sonunda yanlışlıkla “.” veya “/” karakterlerini kullanırsanız bilgisayarda telafisi olmayacak bir silme faciası yaşayabilir ve işletim sisteminizi yeniden kurmak zorunda kalabilirsiniz. Bu yüzden rm -rf komutuna her zaman dikkat edin ;)

( find . -type d -name ".git" \
  && find . -name ".gitignore" \
  && find . -name ".gitmodules" ) | xargs rm -rf

.git Nedir, Nasıl Kullanılır?

Eğer bu konuya yabancı iseniz ya da .git hakkında daha detaylı bilgi arıyorsanız Git Püf Noktalarına mutlaka göz atınız.



Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer