class Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye extends Post
@created_at(
"2025-10-31 13:33"
)
## Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
Yazılım geliştiriciler olarak her gün kullandığımız araçların bazı kavramları zamanla o kadar otomatikleşiyor ki, onların arkasındaki anlamları veya tarihsel bağlamı pek sorgulamıyoruz. Git’teki **“master” dalı** da bunlardan biri.
Yıllarca varsayılan olarak “master” kullandık, hiçbirimiz “neden master?” diye sormadık bile. Ama son yıllarda bu kelime üzerine ciddi bir tartışma yaşandı.
### “Master” ne anlama geliyor?
Git’in ilk versiyonunda ana dal “master” olarak adlandırılmıştı. Bunun teknik olarak anlamı, *ana kopya* ya da *ana hat* idi.
Yani “master branch”, projenin “esas sürümü” anlamına geliyordu. Aynı şekilde, örneğin video düzenleme veya üretim süreçlerinde de “master copy” terimi, “asıl kopya” anlamında kullanılır.
Git’in yaratıcısı **Linus Torvalds** veya Git topluluğu bu ismi seçerken kesinlikle ırkçılıkla ilgili bir anlam yüklememişti. O dönem sadece teknik bir jargondu, kimse başka bir anlam çıkarmıyordu.
### Peki o zaman ne değişti?
2020’de Amerika’da başlayan **Black Lives Matter** hareketiyle birlikte teknoloji sektöründe de bazı terimlerin kökeni sorgulanmaya başlandı. Özellikle “master/slave” olarak kullanılan sistemlerdeki terimler (örneğin veritabanı replikasyonları veya donanım kontrol sistemlerinde) ciddi eleştirilere maruz kaldı.
“Master” ve “slave” kelimeleri tarihsel olarak kölelik sistemine referans verdiği için, teknoloji dünyasında daha kapsayıcı bir dil kullanılması gerektiği yönünde bir farkındalık oluştu.
Bu farkındalığın sonucu olarak, **GitHub, GitLab, Bitbucket** gibi platformlar varsayılan dal adını `master` yerine **`main`** olarak değiştirdi.
Bu, politik doğruculuk değil; topluluk olarak “daha kapsayıcı olma” refleksiydi.
### “Main” geçişi neden mantıklı?
Birçok kişi ilk başta “ama master kötü bir kelime değil ki” diye tepki verdi. Haklılar da. Ama mesele kelimenin sözlük anlamı değil, **toplumsal algı**.
Bugün bir ekipte farklı kültürlerden, farklı geçmişlerden insanlar birlikte çalışıyor. Kimi için “master” kelimesi sadece teknik bir terimken, kimi için rahatsız edici çağrışımlar yapabiliyor.
Böyle bir durumda çözüm basit: kimseyi rahatsız etmeyen nötr bir terim kullanmak. İşte bu yüzden `main` seçildi. Kısa, sade ve anlam olarak da yerinde: *ana dal*.
### Peki mevcut projelerde ne yapmalıyız?
Eğer projende hâlâ `master` dalı varsa panik yok. Bu bir sorun değil, kimse seni suçlamaz. Ama güncel kalmak istiyorsan aşağıdaki adımlarla kolayca `main`’e geçebilirsin:
# master dalını main olarak yeniden adlandır
git branch -m master main
# remote tarafında da güncelle
git push -u origin main
# GitHub veya GitLab ayarlarından varsayılan dalı main yap
Hepsi bu. Artık yeni commit’ler `main` dalına gidecek.
Eski branch’ler, tag’ler, commit geçmişi aynı kalır — sadece isim değişmiş olur.
### Küçük bir fark, büyük bir mesaj
Bu değişiklik teknik olarak hiçbir şeyi değiştirmedi ama **bir topluluk bilinci** oluşturdu.
Yazılım dünyası sadece koddan ibaret değil; aynı zamanda insanlardan oluşuyor.
Kelimelerin gücü vardır. Kullandığımız dilin kimseyi dışlamaması, küçümsememesi önemli.
Bir kelimeyi değiştirerek belki dünyayı kurtaramayız ama **daha saygılı, daha bilinçli bir topluluk** yaratabiliriz.
### Sonuç
“master” kelimesi kimseyi hedef alarak seçilmedi, ama zamanla anlamı tartışmaya açık hale geldi.
Bu yüzden `main` geçişi sadece sembolik bir değişiklik değil; yazılım dünyasının olgunlaştığının da göstergesi.
Kısacası, bugünün Git dünyasında **“main” yeni “master”dır**.
Ve bence bu, güzel bir gelişme.
---