Modül 6 · Privacy, Security, Administration · ⏱ 10 dakika

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

ÖzellikDeğer
Kimler görebilir?GitHub hesabı olmayan herkes dahil tüm internet
Search engineİndekslenir
ForkHerkes fork edebilir (default)
UygulamaAçık kaynak projeler, portföy, documentation

Public repo’da Actions dakikaları ücretsizdir. Pages ücretsiz barındırılır.

Private

ÖzellikDeğer
Kimler görebilir?Sadece sahip + davet edilen collaborator’lar
Search engineİndekslenmez
ForkSadece 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)

ÖzellikDeğer
Kimler görebilir?Organizasyonun tüm üyeleri
Search engineİndekslenmez
ForkOrg ü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ı

SenaryoDavranış
Public repoHerkes fork edebilir
Private repo (org’da)Org Settings’ten “Allow forking” açık olmalı
Internal repoOrg ü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.