Git Clean: İzlenmeyen Dosyaları Kaldırın ve Depoları Düzenli Tutun
İzlenmeyen dosya ve dizinleri güvenle kaldırmak için git clean komutuna hâkim olun. Veri kaybını önlemek için ana seçenekleri, etkileşimli modu ve en iyi uygulamaları öğrenin.
Bir Git deposunda çalışırken, deponun sürüm kontrol sisteminin parçası olmayan izlenmeyen dosya ve dizinlerin birikmesi yaygındır. Bunlar; geçici dosyaları, derleme çıktılarını veya yerel olarak oluşturduğunuz ve commitlemediğiniz diğer dosyaları içerebilir. Zamanla bu dosyalar çalışma dizinini kalabalıklaştırarak temiz ve düzenli bir çalışma alanı korumayı zorlaştırabilir.
Bu sorunu çözmek için Git, izlenmeyen dosya ve dizinleri kaldıran git clean komutunu sağlar. Bu rehberde, git clean komutunu güvenle nasıl kullanacağınızı, farklı seçeneklerini ve Git deponuzu düzenli tutarken istenmeyen dosya silmelerinden kaçınmak için en iyi uygulamaları göstereceğim. Daha fazla öğrenmek için, sürüm kontrolü ve Git ile GitHub arasındaki farklar hakkında bilgi edinmek üzere Foundations of Git ve Introduction to GitHub Concepts kurslarımızı almanızı öneririm.
git clean'i Anlamak
git clean komutu, çalışma dizininden izlenmeyen dosyaları kaldıran kullanışlı bir Git aracıdır.git clean, dallar arasında geçiş yapmadan önce veya geçici dosyalar üreten derleme süreçlerinden sonra çalışma dizininizi ilk günkü hâline döndürmeniz gerektiğinde faydalıdır. Ancak, git clean komutunu dikkatli kullanmalısınız; çünkü izlenmeyen dosya ve dizinleri çöp kutusuna taşımadan kalıcı olarak siler.
git reset veya git checkout'un izlenen dosyaları değiştirmesinin aksine, git clean yalnızca sürüm kontrolünde olmayan dosya ve dizinlerle ilgilenir. Buna şunlar dahildir:
Derlemelerin oluşturduğu geçici dosyalar
Günlük dosyaları veya önbelleğe alınmış veriler
.gitignore'da listelenen dosyalar (özellikle -x ile belirtilirse)
git clean, izlenen dosyalardaki değişiklikleri yöneten git reset ve git checkout gibi diğer Git komutlarını tamamlayarak, düzenli bir çalışma dizini korumak için faydalıdır.
Complete Git Cheat Sheet'in yaygın Git komutları için kullanışlı bir başvuru olduğunu düşünüyorum.
git clean için Yaygın Kullanımlar
git clean komutu, temiz bir çalışma dizini korumak için kullanışlı bir araçtır. Aşağıda, git clean'in gereksiz dosya ve dizinleri güvenle kaldırabileceği bazı yaygın kullanım senaryoları yer alır.
İzlenmeyen dosyaları kaldırma
Bir Git deposunda çalışırken, izlenmeyen dosyalar zamanla birikebilir. Aşağıdaki seçenekler bunları kaldırmaya yardımcı olur:
git clean -fd: İzlenmeyen dosyaları ve izlenmeyen dizinleri kaldırır.
git clean -fx: .gitignore'da listelenenler gibi izlenmeyen ve yok sayılan dosyaları kaldırır.
Ancak, -fx seçeneğini kullanırken dikkatli olmalısınız; çünkü yok sayılan dosyaları da kaldırır. Komutu çalıştırmadan önce her zaman bir deneme çalıştırması (git clean -n) ile doğrulayın.
Etkileşimli mod
git clean -i komutu, kullanıcıların izlenmeyen dosyaları seçerek kaldırmasına olanak tanıyan etkileşimli bir mod sağlar. Bu mod, hangi dosya veya dizinlerin silineceği üzerinde daha fazla kontrol istediğinizde kullanışlıdır.
Diyelim ki, Olympics klasöründeki değişiklikleri zaten kaydettiniz. Ancak 2024_Data ve 2025_Data adında yeni veri kaynakları eklediniz. git clean -i komutunu çalıştırırsanız, izlenmeyen değişiklikleri silmek için aşağıdaki seçenekler arasından seçim yapmanıza olanak tanıyan bir istem alırsınız.
clean: Seçili dosyaları kaldır
filter: Temizlenecek dosyalar için bir desen belirt
select: Numaraya göre tek tek dosyaları seç
quit: Hiçbir şey silmeden çık
git clean -i etkileşimli modu. Görsel: Yazar.
Güvenlik için deneme çalıştırması
git clean -n seçeneğini kullanmak, bir "deneme çalıştırması" yaptığı için faydalı bir güvenlik önlemidir; kaldırılacak izlenmeyen dosya ve dizinlerin bir listesini gösterir ancak bunları gerçekte silmez. Bu, işlemleri uygulamadan önce gözden geçirmenizi sağlar.
Aşağıdaki örnekte, git clean -n komutu silinmesi gereken dosyaları listeler ancak silmez.
Deneme çalıştırması için git clean -n. Görsel: Yazar.
git reset ile birleştirme
Bir Git çalışma dizinini tamamen sıfırlamak için, git reset ve git clean komutlarını birlikte kullanabilirsiniz; burada:
git reset --hard: İzlenen dosyaları, yerel değişiklikleri atarak son commitlenen duruma sıfırlar.
git clean -fd: İzlenmeyen dosya ve dizinleri kaldırır, yalnızca commitlenmiş dosyaları bırakır.
Bu kombinasyon, tamamen temiz bir çalışma dizini sağlar; dallar arasında geçiş yaparken, deneysellikten geri dönerken veya temiz bir başlangıç hazırlarken faydalıdır.
Seçmeli temizlik için git clean -i etkileşimli modu. Görsel: Yazar.
git clean ve Diğer Git Komutları
git clean komutu, dosyaları değiştiren veya sıfırlayan diğer Git komutlarıyla sıkça karşılaştırılır. Aşağıdaki tablo temel farkları vurgular:
Komut
İşlev
git clean
İzlenmeyen dosya ve dizinleri kalıcı olarak kaldırır.
git reset
İzlenen dosyaları önceki bir duruma sıfırlar; hazırlık alanı ve commitlenmiş değişiklikleri etkiler.
git checkout (veya git restore)
İzlenen dosyalardaki değişiklikleri atar ancak dosyaları kaldırmaz.
git stash
Hem izlenen hem izlenmeyen değişiklikleri daha sonra kullanmak üzere geçici olarak kaydeder.
Git Clean En İyi Uygulamaları
git clean komutunu güvenli ve etkili biçimde kullanmak için şu en iyi uygulamaları izleyin:
Silmeden Önce Deneme Çalıştırması (-n) Kullanın: Her zaman git clean komutunu çalıştırmadan önce git clean -n seçeneğiyle bir deneme çalıştırması yapın. Bu, hangi dosyaların silineceğini gerçekte silmeden önizlemenizi sağlar.
Yok Sayılan Dosyalara Dikkat Edin:git clean kullanırken, yok sayılan dosyaları kaldıran -x seçeneğine dikkat edin. Bu, .gitignore'da listelenen önemli yapılandırma dosyalarını potansiyel olarak silebilir. Yok sayılan dosyaları kaldırmanız gerekiyorsa, git clean -fx komutunu kullanın.
Tam Temizlik için Git Reset ile Birleştirin: Deponuzu tamamen sıfırlamak için, git reset ile git clean komutlarını birleştirin; git reset --hard izlenen dosyaları son commitlenen duruma döndürür ve git clean -fd izlenmeyen dosya ve dizinleri kaldırır.
Daha Güvenli Silmeler için Etkileşimli Modu (-i) Kullanın: Dosyaları körlemesine kaldırmak yerine, silinecek dosyaları gözden geçirip seçmek için etkileşimli modu (git clean -i) kullanın.
Olası Riskler ve Önlemler
git clean dikkatli kullanılmazsa riskli olabilir; çünkü dosyaları herhangi bir yerde saklamadan kalıcı olarak siler. Göz önünde bulundurmanız gereken bazı temel riskler ve önlemler şunlardır:
Dosyalar Kalıcı Olarak Silinir: Değişiklikleri geçici olarak kaydeden git stash'in aksine, git clean izlenmeyen dosya ve dizinleri kalıcı olarak siler. Kaldırıldıktan sonra bu dosyalar Git üzerinden geri getirilemez. Dosyalara daha sonra ihtiyacınız olabileceğini düşünüyorsanız, git clean komutunu çalıştırmadan önce bunları saklamayı (stash) veya yedeklemeyi düşünün.
-x Seçeneğinde Dikkatli Olun: git clean -fx kullanmak, .gitignore'da listelenen önemli yapılandırma dosyaları veya node_modules/ ve venv/ gibi bağımlılık önbellekleri dâhil olmak üzere yok sayılan dosyaları kaldırır. Bu dosyaların yanlışlıkla kaldırılması derlemeleri veya geliştirme ortamlarını bozabilir; bu seçeneği yalnızca gerekli olduğunda kullanın.
Önce Deneme Çalıştırması Yapın: git clean -f komutunu çalıştırmadan önce her zaman git clean -n ile bir deneme çalıştırması yapın. Bu adım, hangi dosyaların silineceğini önizlemenizi sağlar ve önemli dosyaların yanlışlıkla kaldırılmasını önlemeye yardımcı olur
Alternatif Yaklaşımlar: Bazı senaryolarda, git clean yerine git stash kullanmak daha iyi olabilir. git stash -u komutu, yok sayılanlar hariç izlenmeyen dosyaları saklar; gerekirse git stash pop saklanan değişiklikleri geri yükler. Bu yöntem, dallar arasında geçiş yapmanız veya çalışma alanınızı kalıcı olarak değişiklikleri kaybetmeden temizlemeniz gerektiğinde kullanışlıdır.
Sonuç
İyi bakımı yapılmış bir kod tabanı; detaylara dikkat, verimlilik ve dijital varlıkları sorumlu biçimde yönetme becerisini gösterir. İşverenler, dosyaları silmeden önce git clean -n kullanmak, -x ile yok sayılan dosyalara dikkat etmek ve git stash gibi daha güvenli alternatiflerden yararlanmak gibi en iyi uygulamaları anlayan geliştiricileri arar.
DataCamp kurslarını almak yalnızca öğrenmenin harika bir yolu değil, aynı zamanda yazılım geliştirmeyi ciddiye aldığınızı işverenlere göstermek için de iyi bir yöntemdir. Bu bağlamda, Tüm Seviyeler için En İyi 20 Git Mülakat Sorusu ve Cevabı blog yazımızı incelemenizi ve Git ile ilgili her konuda uzmanlaşmak için yeni Git Fundamentals yetkinlik yolumuzu almanızı öneririm.
Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.
Git Clean SSS
git clean ne yapar?⌄
git clean, Git çalışma dizininizden izlenmeyen dosya ve dizinleri kaldırır.
git clean commitlenmiş dosyaları siler mi?⌄
Hayır, git clean yalnızca izlenmeyen dosyaları kaldırır; commitlenmiş veya hazırlık alanına alınmış dosyaları etkilemez.
Silmeden önce dosyaları nasıl önizleyebilirim?⌄
Bir deneme çalıştırması yapmak ve hangi dosyaların kaldırılacağını görmek için git clean -n kullanın.
git clean -f ile git clean -fd arasındaki fark nedir?⌄
git clean -f izlenmeyen dosyaları kaldırır; git clean -fd ise izlenmeyen dizinleri de kaldırır.
git clean, git reset'ten nasıl farklıdır?⌄
git clean izlenmeyen dosyaları kaldırır; git reset ise izlenen dosyaları önceki bir duruma döndürür.
Dosyaları seçerek silmenin bir yolu var mı?⌄
Evet, silinecek dosyaları seçmenizi sağlayan etkileşimli mod için git clean -i kullanın.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Bir Git deposunda çalışırken, deponun sürüm kontrol sisteminin parçası olmayan izlenmeyen dosya ve dizinlerin birikmesi yaygındır. Bunlar; geçici dosyaları, derleme çıktılarını veya yerel olarak oluşturduğunuz ve commitlemediğiniz diğer dosyaları içerebilir. Zamanla bu dosyalar çalışma dizinini kalabalıklaştırarak temiz ve düzenli bir çalışma alanı korumayı zorlaştırabilir.
Bu sorunu çözmek için Git, izlenmeyen dosya ve dizinleri kaldıran
git cleankomutunu sağlar. Bu rehberde,git cleankomutunu güvenle nasıl kullanacağınızı, farklı seçeneklerini ve Git deponuzu düzenli tutarken istenmeyen dosya silmelerinden kaçınmak için en iyi uygulamaları göstereceğim. Daha fazla öğrenmek için, sürüm kontrolü ve Git ile GitHub arasındaki farklar hakkında bilgi edinmek üzere Foundations of Git ve Introduction to GitHub Concepts kurslarımızı almanızı öneririm.git clean'i Anlamak
git cleankomutu, çalışma dizininden izlenmeyen dosyaları kaldıran kullanışlı bir Git aracıdır.git clean, dallar arasında geçiş yapmadan önce veya geçici dosyalar üreten derleme süreçlerinden sonra çalışma dizininizi ilk günkü hâline döndürmeniz gerektiğinde faydalıdır. Ancak,git cleankomutunu dikkatli kullanmalısınız; çünkü izlenmeyen dosya ve dizinleri çöp kutusuna taşımadan kalıcı olarak siler.git resetveyagit checkout'un izlenen dosyaları değiştirmesinin aksine,git cleanyalnızca sürüm kontrolünde olmayan dosya ve dizinlerle ilgilenir. Buna şunlar dahildir:Derlemelerin oluşturduğu geçici dosyalar
Günlük dosyaları veya önbelleğe alınmış veriler
.gitignore'da listelenen dosyalar (özellikle
-xile belirtilirse)git clean, izlenen dosyalardaki değişiklikleri yönetengit resetvegit checkoutgibi diğer Git komutlarını tamamlayarak, düzenli bir çalışma dizini korumak için faydalıdır.Complete Git Cheat Sheet'in yaygın Git komutları için kullanışlı bir başvuru olduğunu düşünüyorum.
git clean için Yaygın Kullanımlar
git cleankomutu, temiz bir çalışma dizini korumak için kullanışlı bir araçtır. Aşağıda,git clean'in gereksiz dosya ve dizinleri güvenle kaldırabileceği bazı yaygın kullanım senaryoları yer alır.İzlenmeyen dosyaları kaldırma
Bir Git deposunda çalışırken, izlenmeyen dosyalar zamanla birikebilir. Aşağıdaki seçenekler bunları kaldırmaya yardımcı olur:
git clean -f: İzlenmeyen dosyaların kaldırılmasını zorlar.git clean -fd: İzlenmeyen dosyaları ve izlenmeyen dizinleri kaldırır.git clean -fx:.gitignore'da listelenenler gibi izlenmeyen ve yok sayılan dosyaları kaldırır.Ancak,
-fxseçeneğini kullanırken dikkatli olmalısınız; çünkü yok sayılan dosyaları da kaldırır. Komutu çalıştırmadan önce her zaman bir deneme çalıştırması (git clean -n) ile doğrulayın.Etkileşimli mod
git clean -ikomutu, kullanıcıların izlenmeyen dosyaları seçerek kaldırmasına olanak tanıyan etkileşimli bir mod sağlar. Bu mod, hangi dosya veya dizinlerin silineceği üzerinde daha fazla kontrol istediğinizde kullanışlıdır.Diyelim ki,
Olympicsklasöründeki değişiklikleri zaten kaydettiniz. Ancak2024_Datave2025_Dataadında yeni veri kaynakları eklediniz.git clean -ikomutunu çalıştırırsanız, izlenmeyen değişiklikleri silmek için aşağıdaki seçenekler arasından seçim yapmanıza olanak tanıyan bir istem alırsınız.clean: Seçili dosyaları kaldırfilter: Temizlenecek dosyalar için bir desen belirtselect: Numaraya göre tek tek dosyaları seçquit: Hiçbir şey silmeden çıkgit clean -i etkileşimli modu. Görsel: Yazar.
Güvenlik için deneme çalıştırması
git clean -nseçeneğini kullanmak, bir "deneme çalıştırması" yaptığı için faydalı bir güvenlik önlemidir; kaldırılacak izlenmeyen dosya ve dizinlerin bir listesini gösterir ancak bunları gerçekte silmez. Bu, işlemleri uygulamadan önce gözden geçirmenizi sağlar.Aşağıdaki örnekte,
git clean -nkomutu silinmesi gereken dosyaları listeler ancak silmez.Deneme çalıştırması için git clean -n. Görsel: Yazar.
git reset ile birleştirme
Bir Git çalışma dizinini tamamen sıfırlamak için, git reset
ve git cleankomutlarını birlikte kullanabilirsiniz; burada:git reset --hard: İzlenen dosyaları, yerel değişiklikleri atarak son commitlenen duruma sıfırlar.git clean -fd: İzlenmeyen dosya ve dizinleri kaldırır, yalnızca commitlenmiş dosyaları bırakır.Bu kombinasyon, tamamen temiz bir çalışma dizini sağlar; dallar arasında geçiş yaparken, deneysellikten geri dönerken veya temiz bir başlangıç hazırlarken faydalıdır.
Yerel değişiklikleri üzerine yazma konusunda en iyi uygulamaları öğrenmek için Git Pull Force: How to Overwrite a Local Branch With Remote rehberimize göz atın.
git clean Kullanımı için Adım Adım Rehber
Git deponuzu güvenle temizlemek ve istenmeyen izlenmeyen dosya ve dizinleri kaldırmak için şu adımları izleyin.
Adım 1: Mevcut durumu kontrol edin
Temizliğe başlamadan önce, hangi dosyaların izlenmediğini görmek için
git statusçalıştırarak deponuzun mevcut durumunu kontrol edin.Depodaki mevcut durumu kontrol etmek için git status. Görsel: Yazar.
Adım 2: Nelerin kaldırılacağını önizleyin
Herhangi bir kaldırma komutunu çalıştırmadan önce,
git clean -nkullanarak nelerin kaldırılacağını önizleyin.Silinecekleri önizlemek için git clean -n. Görsel: Yazar.
Adım 3: İzlenmeyen dosyaları kaldırın
Önizleme doğru görünüyorsa, izlenmeyen dosyaları kaldırmak için
git clean -fkomutunu çalıştırın.git clean -f kullanarak izlenmeyen değişiklikleri kaldırın. Görsel: Yazar.
Adım 4: İzlenmeyen dizinleri kaldırın
İzlenmeyen dizinleri kaldırmak için
git clean -fdkullanın.git clean -fd kullanarak izlenmeyen dizinleri kaldırın. Görsel: Yazar.
Adım 5: Yok sayılan dosyaları kaldırın
Hem izlenmeyen hem de yok sayılan dosyaları kaldırmak için
git clean -fxkomutunu kullanın.Adım 6: Seçmeli temizlik için etkileşimli modu kullanın
Daha fazla kontrol için, etkileşimli kaldırma amacıyla
git clean -ikullanmayı düşünün. Bu mod, silinecek dosyaları tek tek seçmenize olanak tanır.Seçmeli temizlik için git clean -i etkileşimli modu. Görsel: Yazar.
git clean ve Diğer Git Komutları
git cleankomutu, dosyaları değiştiren veya sıfırlayan diğer Git komutlarıyla sıkça karşılaştırılır. Aşağıdaki tablo temel farkları vurgular:git cleangit resetgit checkout(veyagit restore)git stashGit Clean En İyi Uygulamaları
git cleankomutunu güvenli ve etkili biçimde kullanmak için şu en iyi uygulamaları izleyin:Silmeden Önce Deneme Çalıştırması (-n) Kullanın: Her zaman
git cleankomutunu çalıştırmadan öncegit clean -nseçeneğiyle bir deneme çalıştırması yapın. Bu, hangi dosyaların silineceğini gerçekte silmeden önizlemenizi sağlar.Yok Sayılan Dosyalara Dikkat Edin:
git cleankullanırken, yok sayılan dosyaları kaldıran-xseçeneğine dikkat edin. Bu,.gitignore'da listelenen önemli yapılandırma dosyalarını potansiyel olarak silebilir. Yok sayılan dosyaları kaldırmanız gerekiyorsa,git clean -fxkomutunu kullanın.Tam Temizlik için Git Reset ile Birleştirin: Deponuzu tamamen sıfırlamak için,
git resetilegit cleankomutlarını birleştirin;git reset --hardizlenen dosyaları son commitlenen duruma döndürür vegit clean -fdizlenmeyen dosya ve dizinleri kaldırır.Daha Güvenli Silmeler için Etkileşimli Modu (-i) Kullanın: Dosyaları körlemesine kaldırmak yerine, silinecek dosyaları gözden geçirip seçmek için etkileşimli modu (
git clean -i) kullanın.Olası Riskler ve Önlemler
git cleandikkatli kullanılmazsa riskli olabilir; çünkü dosyaları herhangi bir yerde saklamadan kalıcı olarak siler. Göz önünde bulundurmanız gereken bazı temel riskler ve önlemler şunlardır:Dosyalar Kalıcı Olarak Silinir: Değişiklikleri geçici olarak kaydeden
git stash'in aksine,git cleanizlenmeyen dosya ve dizinleri kalıcı olarak siler. Kaldırıldıktan sonra bu dosyalar Git üzerinden geri getirilemez. Dosyalara daha sonra ihtiyacınız olabileceğini düşünüyorsanız,git cleankomutunu çalıştırmadan önce bunları saklamayı (stash) veya yedeklemeyi düşünün.-x Seçeneğinde Dikkatli Olun:
git clean -fxkullanmak,.gitignore'da listelenen önemli yapılandırma dosyaları veyanode_modules/vevenv/gibi bağımlılık önbellekleri dâhil olmak üzere yok sayılan dosyaları kaldırır. Bu dosyaların yanlışlıkla kaldırılması derlemeleri veya geliştirme ortamlarını bozabilir; bu seçeneği yalnızca gerekli olduğunda kullanın.Önce Deneme Çalıştırması Yapın:
git clean -fkomutunu çalıştırmadan önce her zamangit clean -nile bir deneme çalıştırması yapın. Bu adım, hangi dosyaların silineceğini önizlemenizi sağlar ve önemli dosyaların yanlışlıkla kaldırılmasını önlemeye yardımcı olurAlternatif Yaklaşımlar: Bazı senaryolarda,
git cleanyerinegit stashkullanmak daha iyi olabilir.git stash -ukomutu, yok sayılanlar hariç izlenmeyen dosyaları saklar; gerekirsegit stash popsaklanan değişiklikleri geri yükler. Bu yöntem, dallar arasında geçiş yapmanız veya çalışma alanınızı kalıcı olarak değişiklikleri kaybetmeden temizlemeniz gerektiğinde kullanışlıdır.Sonuç
İyi bakımı yapılmış bir kod tabanı; detaylara dikkat, verimlilik ve dijital varlıkları sorumlu biçimde yönetme becerisini gösterir. İşverenler, dosyaları silmeden önce
git clean -nkullanmak,-xile yok sayılan dosyalara dikkat etmek vegit stashgibi daha güvenli alternatiflerden yararlanmak gibi en iyi uygulamaları anlayan geliştiricileri arar.DataCamp kurslarını almak yalnızca öğrenmenin harika bir yolu değil, aynı zamanda yazılım geliştirmeyi ciddiye aldığınızı işverenlere göstermek için de iyi bir yöntemdir. Bu bağlamda, Tüm Seviyeler için En İyi 20 Git Mülakat Sorusu ve Cevabı blog yazımızı incelemenizi ve Git ile ilgili her konuda uzmanlaşmak için yeni Git Fundamentals yetkinlik yolumuzu almanızı öneririm.