Public, private ve internal repo'lar
Public, private and internal repositories
Bu derste neler öğreneceksin
- Üç repo görünürlük tipini ve erişim kurallarını açıklamak
- Internal repo'nun sadece Enterprise'da mevcut olduğunu anlamak
- Repo görünürlüğünü değiştirmenin sonuçlarını bilmek
- Organizasyon repo politikalarını tanımak
Bir repo’nun kimler tarafından görülebileceği ve erişilebileceği, üç görünürlük tipiyle yönetilir: public, private ve internal. GH-900 bu ayrımı ve admin kontrollerini sınava getirir.
Görünürlük tipleri
Public
| Özellik | Değer |
|---|---|
| Kimler görebilir? | GitHub hesabı olmayan herkes dahil tüm internet |
| Search engine | İndekslenir |
| Fork | Herkes fork edebilir (default) |
| Uygulama | Açık kaynak projeler, portföy, documentation |
Public repo’da Actions dakikaları ücretsizdir. Pages ücretsiz barındırılır.
Private
| Özellik | Değer |
|---|---|
| Kimler görebilir? | Sadece sahip + davet edilen collaborator’lar |
| Search engine | İndekslenmez |
| Fork | Sadece organizasyon içinde fork |
| Uygulama | Özel projeler, ticari kod |
Ücretsiz hesaplarda sınırlı sayıda collaborator. Pro/Teams/Enterprise’da sınırsız.
Internal (sadece Enterprise)
| Özellik | Değer |
|---|---|
| Kimler görebilir? | Organizasyonun tüm üyeleri |
| Search engine | İndekslenmez |
| Fork | Org üyeleri fork edebilir |
| Uygulama | Şirket içi kod — tüm çalışanlar görsün ama dışarı kapalı |
Internal, yalnızca GitHub Enterprise Cloud veya Enterprise Server organizasyonlarında mevcuttur.
Görünürlüğü değiştirmek
Repo Settings → General → Danger Zone → “Change repository visibility”
Public → Private: Arama sonuçlarından kaldırılır, stars/forks etkilenmez, collaborator’lar düzenlenmez.
Private → Public: Tüm geçmiş (commits dahil) herkese açık olur. Commit’lerde hassas veri varsa dikkatli ol — geçmiş silinmez!
Public → Internal: Sadece Enterprise org’da mümkün.
Görünürlük değişikliği yalnızca owner veya admin yapabilir.
Organizasyon repo politikaları
Org admins, tüm org repo’larına politika uygulayabilir:
- Default repository visibility: Yeni repo’ların varsayılan görünürlüğü
- Repo creation permissions: Hangi üyeler repo oluşturabilir (owner, member, admin)
- Fork policy: Private repo’ların fork edilmesine izin ver/engelle
- Visibility change policy: Üyeler görünürlüğü değiştirebilir mi?
Fork politikası
| Senaryo | Davranış |
|---|---|
| Public repo | Herkes fork edebilir |
| Private repo (org’da) | Org Settings’ten “Allow forking” açık olmalı |
| Internal repo | Org üyeleri fork edebilir |
Repository görünürlüğü ve GitHub Actions
- Public repo: Actions dakikaları ücretsiz (GitHub-hosted)
- Private/Internal repo: Plana göre aylık ücretsiz dakika; sonrası ücretli
- Self-hosted runner: Her görünürlükte ücretsiz (kendi altyapın)
Sınav perspektifinden dikkat noktaları
- Internal görünürlük yalnızca Enterprise’da — Free ve Pro planlarda yoktur
- Public repo’yu private yapmak forks’ları silmez; forks bağımsız kalmaya devam eder
- GitHub Pages, private repo’da da çalışır ama URL herkese açık olabilir (plan bağımlı)
- GitHub Free’de private collaborator sayısı sınırsızdır (eski limitler kaldırıldı)
Sırada ne var?
Sonraki derste iki faktörlü kimlik doğrulama ve SSH key yönetimini ele alacağız.