{"id":45534,"date":"2026-11-03T21:13:40","date_gmt":"2026-11-03T18:13:40","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/"},"modified":"2026-11-03T21:13:40","modified_gmt":"2026-11-03T18:13:40","slug":"buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/","title":{"rendered":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme"},"content":{"rendered":"<h2>B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme<\/h2>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde Git, projelerin versiyon kontrol\u00fc i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline geldi. Ancak, \u00f6zellikle b\u00fcy\u00fck kod tabanlar\u0131na sahip monorepolar veya uzun soluklu projelerde, basit bir <code>git status<\/code> komutunun bile saniyelerce hatta dakikalarca s\u00fcrmesi, geli\u015ftirici verimlili\u011fini ciddi \u015fekilde d\u00fc\u015f\u00fcrebilir. Bu durum, g\u00fcnl\u00fck i\u015f ak\u0131\u015f\u0131n\u0131 sekteye u\u011fratmakla kalmaz, ayn\u0131 zamanda CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat) s\u00fcre\u00e7lerinde de darbo\u011fazlara yol a\u00e7abilir. Peki, 17.6 saniye s\u00fcren bir <code>git status<\/code> komutunu sadece iki k\u00fc\u00e7\u00fck yap\u0131land\u0131rma ayar\u0131 ile 0.83 saniyeye d\u00fc\u015f\u00fcrmek m\u00fcmk\u00fcn m\u00fc? Cevap kesinlikle evet! Bu makalede, bu sihirli iki ayar\u0131n ne oldu\u011funu, neden i\u015fe yarad\u0131\u011f\u0131n\u0131 ve Git depolar\u0131n\u0131zda performans\u0131 nas\u0131l k\u00f6kten de\u011fi\u015ftirebilece\u011fini detayl\u0131ca inceleyece\u011fiz.<\/p>\n<h2>Git Status Komutu Neden \u00d6nemli ve B\u00fcy\u00fck Depolarda Neden Yava\u015flar?<\/h2>\n<p><code>git status<\/code> komutu, bir geli\u015ftiricinin g\u00fcnl\u00fck i\u015f ak\u0131\u015f\u0131n\u0131n temel ta\u015flar\u0131ndan biridir. \u00c7al\u0131\u015fma dizininizdeki (working directory) dosyalar\u0131n mevcut durumu hakk\u0131nda size h\u0131zl\u0131ca bilgi verir: hangi dosyalar\u0131n de\u011fi\u015ftirildi\u011fini, hangilerinin dizine (staging area) eklendi\u011fini, hangilerinin takip edilmedi\u011fini ve son commit&#8217;ten (taahh\u00fct) bu yana ne gibi de\u011fi\u015fiklikler oldu\u011funu g\u00f6sterir. Bu bilgiler, bir sonraki ad\u0131m\u0131n\u0131z\u0131 planlaman\u0131z, de\u011fi\u015fiklikleri organize etmeniz ve projenin genel sa\u011fl\u0131\u011f\u0131n\u0131 anlaman\u0131z i\u00e7in hayati \u00f6neme sahiptir. Ancak, depo boyutu artt\u0131k\u00e7a, \u00f6zellikle y\u00fcz binlerce veya milyonlarca dosya i\u00e7eren projelerde, bu basit komutun \u00e7al\u0131\u015fma s\u00fcresi katlanarak artabilir.<\/p>\n<p>Peki, bu yava\u015flaman\u0131n arkas\u0131ndaki temel nedenler nelerdir? Git, <code>git status<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131nda, \u00e7al\u0131\u015fma dizininizdeki her bir dosyay\u0131 kontrol eder. Bu kontrol s\u00fcreci temelde \u00fc\u00e7 ana a\u015famadan olu\u015fur:<\/p>\n<ul>\n<li><strong>Dosya Sistemi Taramas\u0131 ve De\u011fi\u015fiklik Tespiti:<\/strong> Git, \u00e7al\u0131\u015fma dizininizdeki her dosyay\u0131 gezerek, o dosyan\u0131n diskteki son de\u011fi\u015ftirilme zaman\u0131 (mtime), boyutu ve inode gibi meta verilerini al\u0131r. Bu meta verileri, Git&#8217;in kendi dizinindeki (index) kay\u0131tlarla kar\u015f\u0131la\u015ft\u0131r\u0131r. E\u011fer bu meta verilerde bir farkl\u0131l\u0131k varsa, dosyan\u0131n i\u00e7eri\u011finin de\u011fi\u015fmi\u015f olabilece\u011fi varsay\u0131l\u0131r ve dosyan\u0131n SHA-1 (veya daha yeni s\u00fcr\u00fcmlerde SHA-256) karmas\u0131 hesaplan\u0131r. Bu karma, dosyan\u0131n i\u00e7eri\u011finin ger\u00e7ekten de\u011fi\u015fip de\u011fi\u015fmedi\u011fini kesin olarak belirlemek i\u00e7in kullan\u0131l\u0131r. \u00d6zellikle \u00e7ok say\u0131da dosya ve dizin i\u00e7eren b\u00fcy\u00fck depolarda, bu dosya sistemi taramas\u0131 ba\u015fl\u0131 ba\u015f\u0131na zaman al\u0131c\u0131 bir i\u015flemdir. Her bir dosya i\u00e7in i\u015fletim sistemine yap\u0131lan <code>stat()<\/code> veya benzeri sistem \u00e7a\u011fr\u0131lar\u0131, binlerce veya milyonlarca kez tekrarland\u0131\u011f\u0131nda ciddi bir performans maliyeti yarat\u0131r.<\/li>\n<li><strong>Takip Edilmeyen Dosyalar\u0131n (Untracked Files) Y\u00f6netimi:<\/strong> Git, sadece takip etti\u011fi dosyalar\u0131 de\u011fil, ayn\u0131 zamanda \u00e7al\u0131\u015fma dizininde bulunan ancak Git taraf\u0131ndan hen\u00fcz izlenmeyen (yani <code>.gitignore<\/code> dosyas\u0131nda belirtilmemi\u015f veya manuel olarak eklenmemi\u015f) dosyalar\u0131 da listelemek zorundad\u0131r. Bu, Git&#8217;in t\u00fcm \u00e7al\u0131\u015fma dizinini tarayarak, kendi dizininde (index) veya HEAD commit&#8217;inde bulunmayan dosyalar\u0131 tespit etmesini gerektirir. E\u011fer projenizde <code>node_modules<\/code>, <code>vendor<\/code>, <code>build<\/code> gibi \u00e7ok say\u0131da ge\u00e7ici veya ba\u011f\u0131ml\u0131l\u0131k dosyas\u0131 i\u00e7eren dizinler varsa ve bunlar <code>.gitignore<\/code> dosyas\u0131nda yeterince iyi y\u00f6netilmiyorsa, Git bu devasa dizinleri de taramak zorunda kal\u0131r. Bu durum, yava\u015flaman\u0131n en b\u00fcy\u00fck nedenlerinden biri olabilir.<\/li>\n<li><strong>Dizin Boyutu ve Derinli\u011fi:<\/strong> Monorepolar, yani birden fazla projenin tek bir Git deposunda y\u00f6netildi\u011fi yap\u0131lar, do\u011fal olarak \u00e7ok b\u00fcy\u00fck dosya say\u0131lar\u0131na ve derin dizin hiyerar\u015filerine sahiptir. Benzer \u015fekilde, baz\u0131 projeler, \u00f6rne\u011fin b\u00fcy\u00fck bir oyun motoru veya i\u015fletim sistemi \u00e7ekirde\u011fi gibi, milyonlarca kaynak kodu dosyas\u0131 i\u00e7erebilir. Bu t\u00fcr depolarda, Git&#8217;in t\u00fcm bu dosyalar\u0131 taramas\u0131, dizin yap\u0131s\u0131n\u0131 gezmesi ve her bir dosya i\u00e7in gerekli kontrolleri yapmas\u0131, ka\u00e7\u0131n\u0131lmaz olarak uzun s\u00fcrelere yol a\u00e7ar. Dosya sisteminin kendisi de bu t\u00fcr yo\u011fun okuma i\u015flemlerinde belirli bir s\u0131n\u0131ra sahiptir; \u00f6zellikle HDD (mekanik disk) kullan\u0131l\u0131yorsa, performans d\u00fc\u015f\u00fc\u015f\u00fc daha da belirginle\u015fir. SSD (kat\u0131 hal s\u00fcr\u00fcc\u00fc) kullan\u0131m\u0131 bile, dosya say\u0131s\u0131 milyonlar\u0131 buldu\u011funda bir noktadan sonra yetersiz kalabilir.<\/li>\n<\/ul>\n<p>Bir vaka analizi olarak, uluslararas\u0131 bir yaz\u0131l\u0131m firmas\u0131n\u0131n b\u00fcy\u00fck bir JavaScript monoreposunu ele alal\u0131m. Bu depoda, y\u00fczlerce mikroservis ve \u00f6n u\u00e7 uygulamas\u0131 bir arada bulunuyordu. Her bir uygulaman\u0131n kendi <code>node_modules<\/code> klas\u00f6r\u00fc ve derlenmi\u015f \u00e7\u0131kt\u0131lar\u0131 vard\u0131. Proje b\u00fcy\u00fcd\u00fck\u00e7e, <code>git status<\/code> komutu 20-30 saniyeye kadar uzayabiliyordu. Bu durum, geli\u015ftiricilerin her de\u011fi\u015fiklikten sonra durumu kontrol etmek i\u00e7in uzun s\u00fcreler beklemek zorunda kalmas\u0131 anlam\u0131na geliyordu. G\u00fcn i\u00e7inde defalarca tekrarlanan bu bekleme s\u00fcreleri, toplamda saatlere varan bir verimlilik kayb\u0131na yol a\u00e7\u0131yordu. CI\/CD pipeline&#8217;lar\u0131nda da benzer bir sorun ya\u015fan\u0131yor, her a\u015famada <code>git status<\/code> veya benzeri dosya sistemi tarama komutlar\u0131 y\u00fcz\u00fcnden build s\u00fcreleri uzuyordu. Bu durum, sadece geli\u015ftiricilerin motivasyonunu d\u00fc\u015f\u00fcrmekle kalm\u0131yor, ayn\u0131 zamanda \u015firketin genel geli\u015ftirme h\u0131z\u0131n\u0131 da yava\u015flat\u0131yordu.<\/p>\n<h3>Git&#8217;in Performans Engelini Anlamak: Dosya Sistemi Etkile\u015fimi<\/h3>\n<p>Git&#8217;in temel \u00e7al\u0131\u015fma prensibi, dosyalar\u0131n i\u00e7eri\u011fini ve meta verilerini s\u00fcrekli olarak izlemeye dayan\u0131r. Herhangi bir de\u011fi\u015fiklik oldu\u011funda, Git bu de\u011fi\u015fikli\u011fi tespit etmek ve depoda uygun \u015fekilde saklamak zorundad\u0131r. Bu izleme s\u00fcreci, yo\u011fun dosya sistemi etkile\u015fimleri gerektirir. Git, \u00e7al\u0131\u015fma dizinindeki dosyalar\u0131 tararken, her bir dosya i\u00e7in i\u015fletim sisteminden bilgi ister. Bu bilgiler aras\u0131nda dosyan\u0131n de\u011fi\u015ftirilme zaman\u0131, boyutu ve dosya sistemindeki konumu gibi detaylar yer al\u0131r. Bu s\u00fcre\u00e7, \u00f6zellikle b\u00fcy\u00fck depolarda, y\u00fcz binlerce veya milyonlarca dosya i\u00e7in tekrarland\u0131\u011f\u0131nda, dosya sistemi \u00fczerindeki y\u00fck\u00fc art\u0131r\u0131r ve <code>git status<\/code> gibi komutlar\u0131n yava\u015flamas\u0131na neden olur.<\/p>\n<p>Git, de\u011fi\u015fiklikleri tespit etmek i\u00e7in genellikle iki ana y\u00f6ntem kullan\u0131r: birincisi dosya meta verilerini (mtime, ctime, boyut) kar\u015f\u0131la\u015ft\u0131rmak, ikincisi ise dosya i\u00e7eri\u011finin karmas\u0131n\u0131 (hash) hesaplamakt\u0131r. E\u011fer dosya meta verileri de\u011fi\u015fmi\u015fse, Git dosyan\u0131n i\u00e7eri\u011finin de de\u011fi\u015fmi\u015f olabilece\u011fini varsayar ve do\u011frulamak i\u00e7in i\u00e7eri\u011fin karmas\u0131n\u0131 hesaplar. Bu karma hesaplama i\u015flemi, dosyan\u0131n boyutuna ba\u011fl\u0131 olarak zaman alabilir. K\u00fc\u00e7\u00fck bir depo i\u00e7in bu i\u015flemler neredeyse an\u0131nda ger\u00e7ekle\u015firken, b\u00fcy\u00fck depolarda bu s\u00fcre\u00e7ler birikerek ciddi gecikmelere yol a\u00e7ar. \u00d6rne\u011fin, bir Java projesinde derlenmi\u015f <code>.class<\/code> dosyalar\u0131, veya bir C++ projesinde <code>.o<\/code> dosyalar\u0131, hatta bir Python projesinde <code>__pycache__<\/code> dizinleri, Git&#8217;in taramas\u0131 gereken binlerce ek dosya anlam\u0131na gelebilir. Bu dosyalar genellikle <code>.gitignore<\/code> ile g\u00f6z ard\u0131 edilse de, Git&#8217;in yine de bu dosyalar\u0131n varl\u0131\u011f\u0131n\u0131 kontrol etmesi ve <code>.gitignore<\/code> kurallar\u0131yla e\u015fle\u015ftirmesi gerekir ki bu da bir miktar maliyet yarat\u0131r.<\/p>\n<p>Ayr\u0131ca, Git&#8217;in dizin (index) dosyas\u0131, projenin anl\u0131k durumunun bir anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc (snapshot) i\u00e7erir. <code>git status<\/code> komutu, \u00e7al\u0131\u015fma dizinini bu dizin dosyas\u0131yla kar\u015f\u0131la\u015ft\u0131rarak de\u011fi\u015fiklikleri belirler. E\u011fer dizin dosyas\u0131 \u00e7ok b\u00fcy\u00fckse (milyonlarca giri\u015f i\u00e7eriyorsa), bu kar\u015f\u0131la\u015ft\u0131rma i\u015flemi de zaman al\u0131c\u0131 hale gelebilir. Git&#8217;in bu kar\u015f\u0131la\u015ft\u0131rmalar\u0131 etkili bir \u015fekilde yapabilmesi i\u00e7in, dosya sistemiyle olan etkile\u015fimlerini optimize etmesi gerekir. \u0130\u015fte tam da bu noktada <code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code> gibi yap\u0131land\u0131rma ayarlar\u0131 devreye girer. Bu ayarlar, Git&#8217;in dosya sistemiyle olan etkile\u015fimini ak\u0131ll\u0131ca y\u00f6neterek, gereksiz taramalar\u0131 ve hesaplamalar\u0131 en aza indirmeyi hedefler. B\u00f6ylece, Git&#8217;in sadece ger\u00e7ekten de\u011fi\u015fen veya potansiyel olarak de\u011fi\u015fmi\u015f olabilecek dosyalar \u00fczerinde yo\u011funla\u015fmas\u0131n\u0131 sa\u011flayarak performans\u0131 art\u0131r\u0131r.<\/p>\n<h2>\u00c7\u00f6z\u00fcm\u00fcn Anahtar\u0131: core.untrackedCache ve core.fsmonitor Nedir?<\/h2>\n<p>Git&#8217;in b\u00fcy\u00fck depolardaki performans sorunlar\u0131na y\u00f6nelik en etkili \u00e7\u00f6z\u00fcmlerden ikisi, <code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code> yap\u0131land\u0131rma ayarlar\u0131d\u0131r. Bu iki ayar, Git&#8217;in dosya sistemiyle etkile\u015fimini optimize ederek, <code>git status<\/code> gibi komutlar\u0131n \u00e7al\u0131\u015fma s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. \u015eimdi bu ayarlar\u0131 detayl\u0131ca inceleyelim:<\/p>\n<h3><code>core.untrackedCache<\/code>: Takip Edilmeyen Dosyalar\u0131n Ak\u0131ll\u0131 \u00d6nbelleklemesi<\/h3>\n<p><code>core.untrackedCache<\/code> ayar\u0131, Git&#8217;in takip edilmeyen (untracked) dosyalar\u0131 y\u00f6netme bi\u00e7imini de\u011fi\u015ftirir. Varsay\u0131lan olarak, <code>git status<\/code> her \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, \u00e7al\u0131\u015fma dizinindeki t\u00fcm dosyalar\u0131 tarar ve bunlar\u0131n takip edilip edilmedi\u011fini kontrol eder. E\u011fer projenizde <code>node_modules<\/code>, <code>vendor<\/code>, <code>build<\/code> veya benzeri, binlerce hatta y\u00fcz binlerce dosya i\u00e7eren dizinler varsa ve bunlar <code>.gitignore<\/code> taraf\u0131ndan zaten g\u00f6z ard\u0131 ediliyorsa bile, Git yine de bu dizinleri gezmek ve her bir dosyan\u0131n durumunu kontrol etmek zorunda kal\u0131r. Bu, b\u00fcy\u00fck bir performans y\u00fck\u00fc olu\u015fturur.<\/p>\n<p><code>core.untrackedCache<\/code> ayar\u0131 <code>true<\/code> yap\u0131ld\u0131\u011f\u0131nda, Git takip edilmeyen dosyalar hakk\u0131nda bilgi i\u00e7eren bir \u00f6nbellek olu\u015fturur ve bu \u00f6nbelle\u011fi g\u00fcncel tutar. Bu \u00f6nbellek, <code>.git\/index<\/code> dosyas\u0131n\u0131n i\u00e7inde veya yan\u0131nda saklan\u0131r. Bir sonraki <code>git status<\/code> \u00e7a\u011fr\u0131s\u0131nda, Git t\u00fcm \u00e7al\u0131\u015fma dizinini tekrar taramak yerine, bu \u00f6nbelle\u011fi kullanarak takip edilmeyen dosyalar\u0131n durumunu \u00e7ok daha h\u0131zl\u0131 bir \u015fekilde belirleyebilir. Bu, \u00f6zellikle <code>.gitignore<\/code> taraf\u0131ndan g\u00f6z ard\u0131 edilen ancak fiziksel olarak diskte var olan devasa dizinlerin oldu\u011fu durumlarda muazzam bir h\u0131z art\u0131\u015f\u0131 sa\u011flar. Git, bu \u00f6nbelle\u011fi ak\u0131ll\u0131ca g\u00fcnceller; sadece gerekli oldu\u011funda (\u00f6rne\u011fin, bir <code>git clean<\/code> i\u015flemi yap\u0131ld\u0131\u011f\u0131nda veya \u00f6nbellekteki bir dosyan\u0131n zaman damgas\u0131 de\u011fi\u015fti\u011finde) yeniden tarama yapar. Bu sayede, gereksiz dosya sistemi okumalar\u0131 ve CPU d\u00f6ng\u00fcleri b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azal\u0131r.<\/p>\n<p>Bu \u00f6zelli\u011fin temel faydas\u0131, Git&#8217;in dosya sistemiyle yapt\u0131\u011f\u0131 gereksiz <code>stat()<\/code> \u00e7a\u011fr\u0131lar\u0131n\u0131n say\u0131s\u0131n\u0131 azaltmas\u0131d\u0131r. Bir dosyan\u0131n takip edilip edilmedi\u011fini anlamak i\u00e7in, Git&#8217;in o dosyan\u0131n meta verilerine eri\u015fmesi gerekir. <code>untrackedCache<\/code>, bu bilgiyi bir kez okuduktan sonra \u00f6nbelle\u011fe alarak, sonraki sorgulamalarda disk eri\u015fimini atlamas\u0131n\u0131 sa\u011flar. Bu da \u00f6zellikle yava\u015f disklerde veya a\u011f \u00fczerindeki dosya sistemlerinde \u00e7al\u0131\u015fanlar i\u00e7in hayati bir iyile\u015fme demektir.<\/p>\n<h3><code>core.fsmonitor<\/code>: Dosya Sistemi \u0130zleyicisi ile An\u0131nda Bildirimler<\/h3>\n<p><code>core.fsmonitor<\/code> ayar\u0131, Git&#8217;in dosya sistemi de\u011fi\u015fikliklerini izlemek i\u00e7in i\u015fletim sistemi seviyesindeki bildirim mekanizmalar\u0131n\u0131 kullanmas\u0131n\u0131 sa\u011flar. Git&#8217;in geleneksel yakla\u015f\u0131m\u0131nda, \u00e7al\u0131\u015fma dizinindeki de\u011fi\u015fiklikleri tespit etmek i\u00e7in s\u00fcrekli olarak dosyalar\u0131n meta verilerini (mtime gibi) kontrol etmesi gerekir. Bu, her <code>git status<\/code> \u00e7a\u011fr\u0131s\u0131nda potansiyel olarak binlerce dosyan\u0131n tek tek kontrol edilmesi anlam\u0131na gelir.<\/p>\n<p><code>core.fsmonitor<\/code> <code>true<\/code> yap\u0131ld\u0131\u011f\u0131nda, Git bir dosya sistemi izleyicisi (file system monitor) yard\u0131mc\u0131 s\u00fcreci (helper process) kullan\u0131r. Bu yard\u0131mc\u0131 s\u00fcre\u00e7, i\u015fletim sisteminin yerel dosya sistemi izleme API&#8217;lar\u0131n\u0131 kullanarak (\u00f6rne\u011fin Linux&#8217;ta <code>inotify<\/code>, macOS&#8217;ta <code>FSEvents<\/code>, Windows&#8217;ta <code>ReadDirectoryChangesW<\/code>), \u00e7al\u0131\u015fma dizininde ger\u00e7ekle\u015fen dosya de\u011fi\u015fikliklerini an\u0131nda takip eder. Bir dosya olu\u015fturuldu\u011funda, de\u011fi\u015ftirildi\u011finde veya silindi\u011finde, dosya sistemi izleyicisi bu olay\u0131 tespit eder ve Git&#8217;e bildirir. Bu sayede, Git, <code>git status<\/code> komutu \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda t\u00fcm \u00e7al\u0131\u015fma dizinini ba\u015ftan sona taramak yerine, yaln\u0131zca dosya sistemi izleyicisi taraf\u0131ndan bildirilen de\u011fi\u015fmi\u015f dosyalar\u0131 kontrol eder. Bu, \u00f6zellikle \u00e7ok b\u00fcy\u00fck depolarda ve aktif geli\u015ftirme yap\u0131lan ortamlarda inan\u0131lmaz bir h\u0131z art\u0131\u015f\u0131 sa\u011flar.<\/p>\n<p><code>fsmonitor<\/code>&#8216;un \u00e7al\u0131\u015fma prensibi olduk\u00e7a basittir: \u0130\u015fletim sistemi, bir dizindeki de\u011fi\u015fiklikleri dinleyebilir ve bu de\u011fi\u015fiklikler hakk\u0131nda uygulamalara bilgi verebilir. Git, bu yetene\u011fi kullanarak, hangi dosyalar\u0131n de\u011fi\u015fti\u011fini veya yeni eklendi\u011fini pasif bir \u015fekilde \u00f6\u011frenir. B\u00f6ylece, <code>git status<\/code> \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda, Git&#8217;in yapmas\u0131 gereken i\u015f miktar\u0131, sadece birka\u00e7 de\u011fi\u015fmi\u015f dosyay\u0131 kontrol etmekle s\u0131n\u0131rl\u0131 kal\u0131r, milyonlarca dosyay\u0131 taramak zorunda kalmaz. Bu, \u00f6zellikle dosya say\u0131s\u0131 \u00e7ok fazla olan ve s\u0131k s\u0131k de\u011fi\u015fiklik yap\u0131lan monorepolar i\u00e7in oyun de\u011fi\u015ftirici bir \u00f6zelliktir. Bu \u00f6zellik, <code>core.untrackedCache<\/code> ile birle\u015fti\u011finde, Git&#8217;in performans\u0131n\u0131 adeta f\u0131rlat\u0131r; <code>untrackedCache<\/code> takip edilmeyen dosyalar\u0131 h\u0131zl\u0131ca ele al\u0131rken, <code>fsmonitor<\/code> takip edilen dosyalar\u0131n de\u011fi\u015fikliklerini an\u0131nda tespit eder.<\/p>\n<p>Bu iki ayar\u0131n birle\u015fimi, Git&#8217;in dosya sistemiyle olan etkile\u015fimini radikal bir \u015fekilde optimize eder. <code>untrackedCache<\/code>, g\u00f6z ard\u0131 edilen dosyalar\u0131n y\u00fck\u00fcn\u00fc hafifletirken, <code>fsmonitor<\/code>, takip edilen dosyalar\u0131n de\u011fi\u015fiklik tespitini neredeyse anl\u0131k hale getirir. Sonu\u00e7 olarak, <code>git status<\/code> komutu, devasa depolarda bile saniyeler i\u00e7inde tamamlanarak geli\u015ftirici verimlili\u011fini maksimum seviyeye \u00e7\u0131kar\u0131r.<\/p>\n<h2>Ad\u0131m Ad\u0131m Uygulama: Git Performans\u0131n\u0131z\u0131 Nas\u0131l H\u0131zland\u0131r\u0131rs\u0131n\u0131z?<\/h2>\n<p>Git depolar\u0131n\u0131zda <code>git status<\/code> komutunun yava\u015fl\u0131\u011f\u0131ndan \u015fikayet\u00e7iyseniz, yukar\u0131da bahsetti\u011fimiz iki yap\u0131land\u0131rma ayar\u0131n\u0131 uygulamak olduk\u00e7a basittir ve genellikle \u00e7ok k\u0131sa s\u00fcrede g\u00f6zle g\u00f6r\u00fcl\u00fcr bir fark yarat\u0131r. \u0130\u015fte ad\u0131m ad\u0131m bu ayarlar\u0131 nas\u0131l uygulayaca\u011f\u0131n\u0131z ve sonu\u00e7lar\u0131 nas\u0131l g\u00f6zlemleyece\u011finiz:<\/p>\n<h3>Mevcut Durumu Kontrol Etme: Ba\u015flang\u0131\u00e7 Performans\u0131n\u0131 \u00d6l\u00e7me<\/h3>\n<p>Herhangi bir optimizasyona ba\u015flamadan \u00f6nce, mevcut performans\u0131n\u0131z\u0131 \u00f6l\u00e7mek \u00f6nemlidir. Bu, yap\u0131lan de\u011fi\u015fikliklerin ne kadar etkili oldu\u011funu somut verilerle g\u00f6rmenizi sa\u011flar. Terminalinizde, yava\u015f oldu\u011funu d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcn\u00fcz b\u00fcy\u00fck Git deposunun k\u00f6k dizinindeyken a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>time git status<\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, <code>git status<\/code> komutunun \u00e7al\u0131\u015fmas\u0131 i\u00e7in ge\u00e7en ger\u00e7ek (real), kullan\u0131c\u0131 (user) ve sistem (sys) s\u00fcrelerini size g\u00f6sterecektir. Genellikle &#8220;real&#8221; s\u00fcresi, komutun tamamlanmas\u0131 i\u00e7in ge\u00e7en toplam s\u00fcreyi ifade eder. Bu de\u011feri bir yere not al\u0131n. \u00d6rne\u011fin, ba\u015flang\u0131\u00e7ta 17.6 saniye gibi bir s\u00fcre g\u00f6rebilirsiniz. Bu, bizim referans noktam\u0131z olacak.<\/p>\n<h3>Yap\u0131land\u0131rma Ayarlar\u0131n\u0131 Uygulama<\/h3>\n<p>\u015eimdi s\u0131ra, Git&#8217;in performans\u0131n\u0131 art\u0131racak sihirli iki ayar\u0131 uygulamaya geldi. Bu ayarlar\u0131 genel (global) olarak t\u00fcm Git depolar\u0131n\u0131z i\u00e7in veya sadece belirli bir depo i\u00e7in yerel (local) olarak yapabilirsiniz. Genel olarak uygulamak, bu optimizasyondan t\u00fcm projelerinizde faydalanman\u0131z\u0131 sa\u011flar ve genellikle tercih edilen y\u00f6ntemdir.<\/p>\n<p>A\u015fa\u011f\u0131daki komutlar\u0131 terminalinizde \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>git config --global core.untrackedCache true<\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, <code>core.untrackedCache<\/code> \u00f6zelli\u011fini etkinle\u015ftirir. <code>--global<\/code> bayra\u011f\u0131, bu ayar\u0131n kullan\u0131c\u0131 seviyesinde (yani sizin kullan\u0131c\u0131 hesab\u0131n\u0131z i\u00e7in) t\u00fcm Git depolar\u0131na uygulanmas\u0131n\u0131 sa\u011flar. Bu ayar, Git&#8217;in takip edilmeyen dosyalar i\u00e7in bir \u00f6nbellek tutmas\u0131na olanak tan\u0131r, b\u00f6ylece her <code>git status<\/code> \u00e7a\u011fr\u0131s\u0131nda bu dosyalar\u0131 yeniden taramak zorunda kalmaz. \u00d6zellikle <code>node_modules<\/code> gibi b\u00fcy\u00fck ve s\u0131k de\u011fi\u015fmeyen dizinlerin oldu\u011fu projelerde b\u00fcy\u00fck fayda sa\u011flar.<\/p>\n<div class=\"code-container\">\n<pre><code>git config --global core.fsmonitor true<\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut ise <code>core.fsmonitor<\/code> \u00f6zelli\u011fini etkinle\u015ftirir. Yine <code>--global<\/code> bayra\u011f\u0131 ile t\u00fcm depolar\u0131n\u0131za uygulan\u0131r. <code>fsmonitor<\/code>, i\u015fletim sisteminin dosya sistemi izleme yeteneklerini kullanarak, Git&#8217;in sadece de\u011fi\u015fen dosyalar\u0131 kontrol etmesini sa\u011flar. Bu, Git&#8217;in t\u00fcm \u00e7al\u0131\u015fma dizinini taramak yerine, sadece i\u015fletim sistemi taraf\u0131ndan bildirilen de\u011fi\u015fiklikler \u00fczerinde yo\u011funla\u015fmas\u0131na olanak tan\u0131r. Bu \u00f6zellik, \u00f6zellikle aktif olarak geli\u015ftirme yap\u0131lan ve dosyalarda s\u0131k s\u0131k de\u011fi\u015fiklikler olan depolarda inan\u0131lmaz bir h\u0131z art\u0131\u015f\u0131 sa\u011flar.<\/p>\n<p>Bu iki komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, ayarlar\u0131n\u0131z Git yap\u0131land\u0131rman\u0131za kaydedilmi\u015f olacakt\u0131r. Bu ayarlar\u0131n etkin olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>git config --global --list | grep \"core.untrackedCache\\|core.fsmonitor\"<\/code><\/pre>\n<\/p><\/div>\n<p>Bu komut, yap\u0131land\u0131rma dosyan\u0131zdaki ilgili girdileri listeleyecektir. E\u011fer <code>true<\/code> olarak g\u00f6r\u00fcn\u00fcyorsa, ayarlar ba\u015far\u0131yla uygulanm\u0131\u015ft\u0131r.<\/p>\n<h3>Sonu\u00e7lar\u0131 G\u00f6zlemleme: Performans Kazanc\u0131n\u0131 Do\u011frulama<\/h3>\n<p>Ayarlar\u0131 uygulad\u0131ktan sonra, \u015fimdi performans kazanc\u0131n\u0131 do\u011frulamak i\u00e7in tekrar <code>git status<\/code> komutunu \u00f6l\u00e7me zaman\u0131. B\u00fcy\u00fck Git deponuzun k\u00f6k dizininde tekrar a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"code-container\">\n<pre><code>time git status<\/code><\/pre>\n<\/p><\/div>\n<p>\u015eimdi elde etti\u011finiz &#8220;real&#8221; s\u00fcresini ilk not ald\u0131\u011f\u0131n\u0131z de\u011ferle kar\u015f\u0131la\u015ft\u0131r\u0131n. \u00c7o\u011fu durumda, ba\u015flang\u0131\u00e7ta 17.6 saniye s\u00fcren bir komutun 0.83 saniyeye d\u00fc\u015ft\u00fc\u011f\u00fcn\u00fc veya benzer \u015fekilde %90&#8217;dan fazla bir iyile\u015fme g\u00f6rd\u00fc\u011f\u00fcn\u00fcz\u00fc fark edeceksiniz. Bu, geli\u015ftirme deneyiminizi k\u00f6kten de\u011fi\u015ftirecek \u00f6nemli bir kazan\u00e7t\u0131r.<\/p>\n<h3>Vaka \u00c7al\u0131\u015fmas\u0131: Bir Geli\u015ftiricinin Deneyimi<\/h3>\n<p>Bir web geli\u015ftiricisi olan Ay\u015fe, b\u00fcy\u00fck bir Vue.js projesi \u00fczerinde \u00e7al\u0131\u015f\u0131yordu. Proje, bir\u00e7ok bile\u015fen k\u00fct\u00fcphanesi ve ba\u011f\u0131ml\u0131l\u0131k i\u00e7erdi\u011fi i\u00e7in <code>node_modules<\/code> klas\u00f6r\u00fc y\u00fcz binlerce dosyadan olu\u015fuyordu. Ay\u015fe, her <code>git pull<\/code> veya <code>npm install<\/code> i\u015fleminden sonra <code>git status<\/code> komutunun 15-20 saniye s\u00fcrmesinden muzdaripti. Bu durum, \u00f6zellikle k\u00fc\u00e7\u00fck de\u011fi\u015fiklikler yap\u0131p h\u0131zl\u0131ca durumunu kontrol etmek istedi\u011finde onu yava\u015flat\u0131yordu. Makalede bahsedilen <code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code> ayarlar\u0131n\u0131 uygulad\u0131ktan sonra, Ay\u015fe&#8217;nin <code>git status<\/code> s\u00fcresi 1.5 saniyenin alt\u0131na d\u00fc\u015ft\u00fc. Bu, Ay\u015fe&#8217;nin g\u00fcnl\u00fck i\u015f ak\u0131\u015f\u0131nda devrim niteli\u011finde bir de\u011fi\u015fiklik yaratt\u0131. Art\u0131k \u00e7ok daha h\u0131zl\u0131 geri bildirim alabiliyor, de\u011fi\u015fikliklerini daha verimli y\u00f6netebiliyor ve genel olarak geli\u015ftirme s\u00fcrecinden daha fazla keyif al\u0131yordu. Bu vaka, bu iki basit ayar\u0131n bile ne kadar b\u00fcy\u00fck bir etki yaratabilece\u011finin somut bir \u00f6rne\u011fidir.<\/p>\n<h3>Derinlemesine Bak\u0131\u015f: Bu Ayarlar Git&#8217;in \u0130\u00e7 \u0130\u015fleyi\u015fini Nas\u0131l De\u011fi\u015ftiriyor?<\/h3>\n<p>Bu ayarlar\u0131n Git&#8217;in i\u00e7 i\u015fleyi\u015fini nas\u0131l etkiledi\u011fini anlamak, neden bu kadar etkili olduklar\u0131n\u0131 daha iyi kavramam\u0131z\u0131 sa\u011flar. Git, temel olarak bir i\u00e7erik adreslenebilir dosya sistemi (content-addressable filesystem) olarak \u00e7al\u0131\u015f\u0131r. Yani, her dosyan\u0131n i\u00e7eri\u011fi bir karma (hash) ile temsil edilir ve bu karma, dosyan\u0131n benzersiz kimli\u011fidir. <code>git status<\/code> komutu, bu karma de\u011ferlerini ve dosya meta verilerini kar\u015f\u0131la\u015ft\u0131rarak de\u011fi\u015fiklikleri tespit eder.<\/p>\n<p><code>core.untrackedCache<\/code> etkinle\u015ftirildi\u011finde, Git, <code>.git\/index<\/code> dosyas\u0131n\u0131n i\u00e7inde veya yan\u0131nda &#8220;untracked cache&#8221; ad\u0131 verilen \u00f6zel bir b\u00f6l\u00fcm olu\u015fturur. Bu \u00f6nbellek, takip edilmeyen dosyalar\u0131n listesini ve onlar\u0131n meta verilerini (mtime, boyut gibi) tutar. Normalde, Git takip edilmeyen dosyalar\u0131 bulmak i\u00e7in t\u00fcm \u00e7al\u0131\u015fma dizinini gezmek zorundad\u0131r. Ancak bu \u00f6nbellek sayesinde, Git sadece \u00f6nbelle\u011fi okuyarak, hangi dosyalar\u0131n takip edilmedi\u011fini ve bu dosyalar\u0131n \u00f6nbelle\u011fe al\u0131nd\u0131\u011f\u0131ndan bu yana de\u011fi\u015fip de\u011fi\u015fmedi\u011fini h\u0131zl\u0131ca belirleyebilir. E\u011fer bir dosya \u00f6nbellekte yoksa veya meta verileri de\u011fi\u015fmi\u015fse, Git o dosyay\u0131 tekrar kontrol eder. Bu, \u00f6zellikle <code>.gitignore<\/code>&#8216;da belirtilen ancak yine de diskte yer kaplayan b\u00fcy\u00fck dizinler i\u00e7in (\u00f6rne\u011fin <code>node_modules<\/code>) kritik \u00f6neme sahiptir. Git, bu dizinleri her seferinde ba\u015ftan sona taramak yerine, \u00f6nbellekteki bilgiyi kullanarak \u00e7ok daha h\u0131zl\u0131 karar verir.<\/p>\n<p><code>core.fsmonitor<\/code> ise, Git&#8217;in dosya sistemi de\u011fi\u015fikliklerini proaktif olarak izlemesini sa\u011flar. Bu \u00f6zellik etkinle\u015ftirildi\u011finde, Git, i\u015fletim sisteminin yerel dosya sistemi izleme API&#8217;lar\u0131 (Linux&#8217;ta inotify, macOS&#8217;ta FSEvents, Windows&#8217;ta ReadDirectoryChangesW) ile ileti\u015fim kuran bir yard\u0131mc\u0131 s\u00fcre\u00e7 (helper process) ba\u015flat\u0131r. Bu yard\u0131mc\u0131 s\u00fcre\u00e7, \u00e7al\u0131\u015fma dizininde ger\u00e7ekle\u015fen dosya olu\u015fturma, de\u011fi\u015ftirme veya silme gibi olaylar\u0131 an\u0131nda yakalar. Bu olaylar, Git&#8217;e &#8220;de\u011fi\u015fen dosyalar\u0131n bir listesi&#8221; olarak iletilir. B\u00f6ylece, <code>git status<\/code> komutu \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda, Git t\u00fcm depoyu taramak zorunda kalmaz; yaln\u0131zca dosya sistemi izleyicisi taraf\u0131ndan bildirilen dosyalar\u0131 ve onlar\u0131n ilgili meta verilerini kontrol eder. Bu, \u00f6zellikle b\u00fcy\u00fck depolarda ve s\u0131k s\u0131k dosya de\u011fi\u015fikli\u011fi yap\u0131lan ortamlarda, dosya sistemi \u00fczerindeki y\u00fck\u00fc ve CPU kullan\u0131m\u0131n\u0131 radikal bir \u015fekilde azalt\u0131r. Bu yard\u0131mc\u0131 s\u00fcre\u00e7, genellikle <code>.git\/info\/fsmonitor--daemon<\/code> gibi bir dosyada veya benzer bir mekanizma ile \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r ve arka planda sessizce izleme yapar.<\/p>\n<p>Bu iki mekanizman\u0131n birle\u015fimi, Git&#8217;in dosya sistemiyle olan etkile\u015fimini &#8220;tembel&#8221; (lazy) ve &#8220;olay tabanl\u0131&#8221; (event-driven) hale getirir. Git art\u0131k her \u015feyi s\u00fcrekli olarak sorgulamak yerine, sadece ihtiya\u00e7 duydu\u011funda veya bir olay tetiklendi\u011finde harekete ge\u00e7er. Bu da, performans kazanc\u0131n\u0131n temelini olu\u015fturur. Bu ayarlar, Git&#8217;in dahili dizin (index) yap\u0131s\u0131n\u0131 daha verimli kullanmas\u0131n\u0131 sa\u011flayarak, b\u00fcy\u00fck \u00f6l\u00e7ekli depolarda bile h\u0131zl\u0131 ve duyarl\u0131 bir deneyim sunar.<\/p>\n<h2>Performans Optimizasyonu \u0130\u00e7in Di\u011fer \u0130pu\u00e7lar\u0131 ve \u0130leri D\u00fczey Teknikler<\/h2>\n<p><code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code> ayarlar\u0131 Git performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rsa da, daha da ileri gitmek ve Git deneyiminizi daha da optimize etmek i\u00e7in ba\u015fka teknikler ve ipu\u00e7lar\u0131 da bulunmaktad\u0131r. Bu ileri d\u00fczey stratejiler, \u00f6zellikle \u00e7ok b\u00fcy\u00fck veya karma\u015f\u0131k depolarda \u00e7al\u0131\u015fan geli\u015ftiriciler i\u00e7in faydal\u0131 olabilir.<\/p>\n<ul>\n<li><strong><code>.gitignore<\/code> Dosyas\u0131n\u0131 Etkin Kullanmak:<\/strong> Bu, Git performans\u0131n\u0131 art\u0131rmak i\u00e7in en temel ama en etkili y\u00f6ntemlerden biridir. Projenizde derlenmi\u015f dosyalar (<code>.class<\/code>, <code>.o<\/code>), ba\u011f\u0131ml\u0131l\u0131k dizinleri (<code>node_modules<\/code>, <code>vendor<\/code>), log dosyalar\u0131, ge\u00e7ici dosyalar, edit\u00f6r ayarlar\u0131 veya hassas bilgiler (API anahtarlar\u0131) gibi Git taraf\u0131ndan takip edilmemesi gereken her \u015feyi <code>.gitignore<\/code> dosyas\u0131na ekleyin. Ne kadar \u00e7ok gereksiz dosyay\u0131 g\u00f6z ard\u0131 ederseniz, Git&#8217;in taramas\u0131 gereken dosya say\u0131s\u0131 o kadar azal\u0131r ve bu da <code>git status<\/code> gibi komutlar\u0131n daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. B\u00fcy\u00fck bir <code>node_modules<\/code> dizinini <code>.gitignore<\/code>&#8216;a eklemek, tek ba\u015f\u0131na bile b\u00fcy\u00fck bir h\u0131z art\u0131\u015f\u0131 sa\u011flayabilir.<\/li>\n<li><strong>Sparse Checkout (Seyrek Checkout):<\/strong> E\u011fer \u00e7ok b\u00fcy\u00fck bir monorepo \u00fczerinde \u00e7al\u0131\u015f\u0131yor ancak sadece belirli alt dizinlerdeki dosyalarla ilgileniyorsan\u0131z, sparse checkout kullanabilirsiniz. Bu \u00f6zellik, Git&#8217;in \u00e7al\u0131\u015fma dizininize sadece belirli dizinleri veya dosyalar\u0131 \u00e7ekmesini sa\u011flar. B\u00f6ylece, t\u00fcm depoyu diskinize klonlamak zorunda kalmazs\u0131n\u0131z ve Git&#8217;in \u00fczerinde \u00e7al\u0131\u015fmas\u0131 gereken dosya say\u0131s\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azal\u0131r. Bu, \u00f6zellikle \u00e7ok b\u00fcy\u00fck kaynak kodlu projelerde veya ba\u011f\u0131ms\u0131z mod\u00fcllerin bir arada bulundu\u011fu monorepolarda geli\u015ftirici deneyimini h\u0131zland\u0131r\u0131r.\n<div class=\"code-container\">\n<pre><code>git config core.sparseCheckout true\ngit sparse-checkout init --cone\necho \"path\/to\/my\/module\/\" >> .git\/info\/sparse-checkout\ngit sparse-checkout reapply<\/code><\/pre>\n<\/p><\/div>\n<p>            Bu komutlar, <code>path\/to\/my\/module\/<\/code> dizini d\u0131\u015f\u0131ndaki t\u00fcm dosyalar\u0131n g\u00f6z ard\u0131 edilmesini sa\u011flar.<\/li>\n<li><strong>Shallow Clone (S\u0131\u011f Klonlama):<\/strong> Yeni bir depoyu klonlarken, t\u00fcm commit ge\u00e7mi\u015fini indirmek yerine sadece belirli bir derinlikteki commit&#8217;leri (\u00f6rne\u011fin son 1 commit) indirmek, klonlama s\u00fcresini ve depo boyutunu b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azalt\u0131r. Bu, \u00f6zellikle CI\/CD ortamlar\u0131nda veya h\u0131zl\u0131ca bir depoyu test etmek istedi\u011finizde faydal\u0131d\u0131r. Ancak, tam bir ge\u00e7mi\u015fe ihtiyac\u0131n\u0131z oldu\u011funda bu y\u00f6ntem uygun de\u011fildir.\n<div class=\"code-container\">\n<pre><code>git clone --depth 1 &lt;repo_url&gt;<\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>Git GC (Garbage Collection &#8211; \u00c7\u00f6p Toplama):<\/strong> Git, zaman zaman otomatik olarak \u00e7\u00f6p toplama (garbage collection) i\u015flemleri yapar. Bu i\u015flem, gereksiz nesneleri siler, gev\u015fek nesneleri paket dosyalar\u0131na s\u0131k\u0131\u015ft\u0131r\u0131r ve depo boyutunu optimize eder. E\u011fer deponuzda \u00e7ok say\u0131da eski veya eri\u015filemez nesne varsa, manuel olarak <code>git gc<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmak performans\u0131 art\u0131rabilir.\n<div class=\"code-container\">\n<pre><code>git gc --prune=now<\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>Donan\u0131m Fakt\u00f6rleri:<\/strong> Git&#8217;in performans\u0131, kulland\u0131\u011f\u0131n\u0131z donan\u0131m taraf\u0131ndan da do\u011frudan etkilenir. SSD (Kat\u0131 Hal S\u00fcr\u00fcc\u00fc) kullan\u0131m\u0131, HDD&#8217;lere (Mekanik Disk) g\u00f6re dosya okuma ve yazma h\u0131zlar\u0131n\u0131 katlayarak Git komutlar\u0131n\u0131n daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Yeterli miktarda RAM ve h\u0131zl\u0131 bir i\u015flemci de genel sistem performans\u0131n\u0131 ve dolay\u0131s\u0131yla Git i\u015flemlerinin h\u0131z\u0131n\u0131 olumlu etkiler. \u00d6zellikle sanal makinelerde veya a\u011f payla\u015f\u0131mlar\u0131nda \u00e7al\u0131\u015fan Git depolar\u0131nda performans sorunlar\u0131 daha s\u0131k g\u00f6r\u00fclebilir; bu durumlarda yerel bir SSD&#8217;de \u00e7al\u0131\u015fmak b\u00fcy\u00fck fark yarat\u0131r.<\/li>\n<li><strong>Git Versiyonunu G\u00fcncel Tutmak:<\/strong> Git s\u00fcrekli olarak geli\u015ftirilmekte ve yeni performans iyile\u015ftirmeleri eklenmektedir. Kulland\u0131\u011f\u0131n\u0131z Git s\u00fcr\u00fcm\u00fcn\u00fc g\u00fcncel tutmak, en son optimizasyonlardan ve hata d\u00fczeltmelerinden faydalanman\u0131z\u0131 sa\u011flar. Yeni Git s\u00fcr\u00fcmleri, dosya sistemi etkile\u015fimlerini, indeksleme algoritmalar\u0131n\u0131 ve genel performans\u0131 iyile\u015ftiren \u00f6nemli de\u011fi\u015fiklikler i\u00e7erebilir.<\/li>\n<\/ul>\n<p>Bu ipu\u00e7lar\u0131n\u0131 ve teknikleri bir araya getirerek, Git depolar\u0131n\u0131zdaki performans\u0131 sadece <code>git status<\/code> i\u00e7in de\u011fil, genel olarak t\u00fcm Git operasyonlar\u0131 i\u00e7in optimize edebilirsiniz. Unutmay\u0131n ki her depo ve proje farkl\u0131d\u0131r, bu nedenle hangi optimizasyonlar\u0131n sizin i\u00e7in en uygun oldu\u011funu bulmak i\u00e7in deneme yapmak gerekebilir.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Git performans optimizasyonu konusunda akla gelebilecek baz\u0131 yayg\u0131n sorular ve yan\u0131tlar\u0131:<\/p>\n<h3>Bu ayarlar (<code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code>) her zaman g\u00fcvenli midir?<\/h3>\n<p>Evet, bu ayarlar genel olarak g\u00fcvenlidir ve Git&#8217;in resmi olarak destekledi\u011fi \u00f6zelliklerdir. Bunlar, Git&#8217;in dosya sistemiyle etkile\u015fimini optimize etmek i\u00e7in tasarlanm\u0131\u015ft\u0131r ve temel Git operasyonlar\u0131n\u0131n do\u011frulu\u011funu veya b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc bozmazlar. Nadir durumlarda, \u00f6zellikle \u00e7ok eski veya \u00f6zel dosya sistemlerinde <code>fsmonitor<\/code> ile uyumluluk sorunlar\u0131 ya\u015fanabilir, ancak modern i\u015fletim sistemleri ve dosya sistemlerinde sorunsuz \u00e7al\u0131\u015fmas\u0131 beklenir. Herhangi bir \u015f\u00fcpheniz varsa, \u00f6nce k\u00fc\u00e7\u00fck veya test depolar\u0131n\u0131zda deneyebilirsiniz.<\/p>\n<h3>Performans kazanc\u0131 her depoda ayn\u0131 m\u0131 olur?<\/h3>\n<p>Hay\u0131r, performans kazanc\u0131 deponun boyutuna, dosya say\u0131s\u0131na, dizin derinli\u011fine, <code>.gitignore<\/code> dosyas\u0131n\u0131n etkinli\u011fine ve dosya sistemi aktivitesine g\u00f6re de\u011fi\u015fiklik g\u00f6sterir. \u00d6zellikle \u00e7ok say\u0131da takip edilmeyen dosya (<code>node_modules<\/code> gibi) ve s\u0131k dosya de\u011fi\u015fiklikleri olan b\u00fcy\u00fck depolarda en b\u00fcy\u00fck kazan\u00e7lar elde edilir. K\u00fc\u00e7\u00fck depolarda veya \u00e7ok az dosya de\u011fi\u015fikli\u011fi olan depolarda, bu ayarlar\u0131n etkisi daha az fark edilebilir olacakt\u0131r \u00e7\u00fcnk\u00fc zaten performans sorunu ya\u015fanm\u0131yordur.<\/p>\n<h3>Bu ayarlar\u0131 geri nas\u0131l alabilirim?<\/h3>\n<p>Bu ayarlar\u0131 geri almak olduk\u00e7a basittir. \u0130lgili yap\u0131land\u0131rma de\u011ferini <code>false<\/code> olarak ayarlaman\u0131z yeterlidir:<\/p>\n<div class=\"code-container\">\n<pre><code>git config --global core.untrackedCache false\ngit config --global core.fsmonitor false<\/code><\/pre>\n<\/p><\/div>\n<p>E\u011fer bir ayar\u0131 tamamen kald\u0131rmak isterseniz, <code>--unset<\/code> bayra\u011f\u0131n\u0131 kullanabilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>git config --global --unset core.untrackedCache\ngit config --global --unset core.fsmonitor<\/code><\/pre>\n<\/p><\/div>\n<h3>Farkl\u0131 i\u015fletim sistemlerinde (Windows, macOS, Linux) farkl\u0131l\u0131k g\u00f6sterir mi?<\/h3>\n<p><code>core.untrackedCache<\/code> \u00f6zelli\u011fi t\u00fcm i\u015fletim sistemlerinde benzer \u015fekilde \u00e7al\u0131\u015f\u0131r. Ancak <code>core.fsmonitor<\/code>, i\u015fletim sisteminin yerel dosya sistemi izleme API&#8217;lar\u0131n\u0131 kulland\u0131\u011f\u0131 i\u00e7in platforma \u00f6zg\u00fc uygulamalara sahiptir. Linux&#8217;ta <code>inotify<\/code>, macOS&#8217;ta <code>FSEvents<\/code> ve Windows&#8217;ta <code>ReadDirectoryChangesW<\/code> gibi mekanizmalar kullan\u0131l\u0131r. Bu, her i\u015fletim sisteminde en iyi performans\u0131 sa\u011flamak i\u00e7in Git&#8217;in ilgili platforma \u00f6zel yard\u0131mc\u0131 s\u00fcre\u00e7leri (helper processes) kulland\u0131\u011f\u0131 anlam\u0131na gelir. Genel olarak, modern ve g\u00fcncel i\u015fletim sistemlerinde bu \u00f6zelli\u011fin sorunsuz \u00e7al\u0131\u015fmas\u0131 beklenir.<\/p>\n<h3>Bu ayarlar Git&#8217;in di\u011fer komutlar\u0131n\u0131 da h\u0131zland\u0131r\u0131r m\u0131?<\/h3>\n<p>Evet, bu ayarlar \u00f6zellikle \u00e7al\u0131\u015fma diziniyle etkile\u015fimde bulunan ve dosya sistemi taramas\u0131 gerektiren di\u011fer Git komutlar\u0131n\u0131n performans\u0131n\u0131 da dolayl\u0131 olarak etkileyebilir. \u00d6rne\u011fin, <code>git add<\/code>, <code>git commit<\/code> (\u00f6zellikle \u00e7ok say\u0131da de\u011fi\u015ftirilmi\u015f dosya oldu\u011funda), <code>git diff<\/code> gibi komutlar da dosya sistemi taramalar\u0131na ihtiya\u00e7 duyar. <code>untrackedCache<\/code> ve <code>fsmonitor<\/code> sayesinde, Git&#8217;in dosya sistemi hakk\u0131nda daha g\u00fcncel ve \u00f6nbelle\u011fe al\u0131nm\u0131\u015f bilgilere sahip olmas\u0131, bu komutlar\u0131n da daha verimli \u00e7al\u0131\u015fmas\u0131na katk\u0131da bulunabilir. Ancak en b\u00fcy\u00fck etkiyi <code>git status<\/code> \u00fczerinde g\u00f6sterirler.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>B\u00fcy\u00fck Git depolar\u0131nda ya\u015fanan <code>git status<\/code> yava\u015fl\u0131\u011f\u0131, bir\u00e7ok geli\u015ftirici i\u00e7in g\u00fcnl\u00fck bir \u00e7ile haline gelebilir. Ancak bu makalede detaylar\u0131yla ele ald\u0131\u011f\u0131m\u0131z <code>core.untrackedCache<\/code> ve <code>core.fsmonitor<\/code> gibi iki basit yap\u0131land\u0131rma ayar\u0131 sayesinde, bu sorunu k\u00f6kten \u00e7\u00f6zmek ve geli\u015ftirme deneyiminizi \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirmek m\u00fcmk\u00fcnd\u00fcr. 17.6 saniye s\u00fcren bir komutun 0.83 saniyeye d\u00fc\u015fmesi, sadece bir \u00f6rnek de\u011fil, bu optimizasyonlar\u0131n potansiyelini g\u00f6steren somut bir veridir. Bu ayarlar, Git&#8217;in dosya sistemiyle olan etkile\u015fimini ak\u0131ll\u0131ca y\u00f6neterek, gereksiz taramalar\u0131 ve hesaplamalar\u0131 ortadan kald\u0131r\u0131r, b\u00f6ylece daha h\u0131zl\u0131 ve daha duyarl\u0131 bir versiyon kontrol deneyimi sunar.<\/p>\n<p>Bu ayarlar\u0131 uygulamak i\u00e7in sadece birka\u00e7 terminal komutu yeterlidir ve elde edece\u011finiz performans kazanc\u0131, harcad\u0131\u011f\u0131n\u0131z zamana fazlas\u0131yla de\u011fecektir. Ayr\u0131ca, <code>.gitignore<\/code> dosyas\u0131n\u0131 etkin kullanmak, sparse checkout ve shallow clone gibi di\u011fer ileri d\u00fczey teknikleri de de\u011ferlendirerek Git performans\u0131n\u0131z\u0131 daha da ileri ta\u015f\u0131yabilirsiniz. Unutmay\u0131n ki, verimli bir geli\u015ftirme ortam\u0131, \u00fcretkenli\u011fin temelidir. Git&#8217;inizi optimize ederek, kod yazmaya ve yenilik\u00e7i \u00e7\u00f6z\u00fcmler \u00fcretmeye daha fazla zaman ay\u0131rabilirsiniz. E\u011fer b\u00fcy\u00fck bir Git deposunda \u00e7al\u0131\u015f\u0131yorsan\u0131z ve hen\u00fcz bu ayarlar\u0131 denemediyseniz, \u015fimdi tam zaman\u0131! Kendi depolar\u0131n\u0131zda bu fark\u0131 deneyimleyin ve geli\u015ftirme ak\u0131\u015f\u0131n\u0131zdaki h\u0131zlanman\u0131n keyfini \u00e7\u0131kar\u0131n.<\/p>\n<p>#GitPerformans #VersiyonKontrol #Yaz\u0131l\u0131mGeli\u015ftirme #DevOps #GitOptimizasyon<\/p>\n","protected":false},"excerpt":{"rendered":"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde Git, projelerin versiyon kontrol\u00fc i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline geldi.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1401],"tags":[],"class_list":{"0":"post-45534","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-git","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-?-iyilestirme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme\" \/>\n<meta property=\"og:description\" content=\"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde Git, projelerin versiyon kontrol\u00fc i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline geldi.\" \/>\n<meta property=\"og:url\" content=\"\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-03T18:13:40+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme\",\"datePublished\":\"2026-11-03T18:13:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/\"},\"wordCount\":4779,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Git\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/\",\"name\":\"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-11-03T18:13:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-?-iyilestirme\/","og_locale":"tr_TR","og_type":"article","og_title":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme","og_description":"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde Git, projelerin versiyon kontrol\u00fc i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline geldi.","og_url":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-?-iyilestirme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-11-03T18:13:40+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"25 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme","datePublished":"2026-11-03T18:13:40+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/"},"wordCount":4779,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Git"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/","url":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/","name":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-11-03T18:13:40+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/buyuk-depolarda-git-status-yavasligina-son-iki-ayar-ile-performansi-%95-iyilestirme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"B\u00fcy\u00fck Depolarda Git Status Yava\u015fl\u0131\u011f\u0131na Son: \u0130ki Ayar \u0130le Performans\u0131 %95 \u0130yile\u015ftirme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=45534"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45534\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=45534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=45534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=45534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}