Repository oluşturma ve template repo'lar
Creating repositories and template repositories
Bu derste neler öğreneceksin
- GitHub'da yeni repo oluşturmanın tüm seçeneklerini bilmek
- Template repository nedir, nasıl oluşturulur ve kullanılır?
- Repo görünürlüğünü (public, private, internal) anlamak
- Organizasyon reposu ile kişisel reponun farkını açıklamak
GitHub’da repository oluşturmak basit görünür ama GH-900 sınavı oluşturma seçeneklerinin detaylarını sorar: template repo’lar, görünürlük ayarları, initialization seçenekleri ve organizasyon repo’ları.
Yeni repo oluşturma
Web UI’da ”+” → New repository veya CLI ile:
gh repo create my-project --public --add-readme
Oluşturma ekranındaki seçenekler:
| Seçenek | Açıklama |
|---|---|
| Owner | Kişisel hesap veya organizasyon |
| Repository name | URL’de görünür, küçük harf önerilir |
| Visibility | Public / Private / Internal |
| Initialize with README | Boş olmayan repo başlatır |
| Add .gitignore | Dil bazlı template |
| Choose a license | MIT, Apache, GPL, vb. |
Initialization önemli mi?
Eğer Initialize this repository with a README seçilirse, repo zaten bir commit içerir ve doğrudan clone edilebilir. Eğer seçilmezse, boş repo oluşur ve yerel projeni push etmen gerekir.
Repository template nedir?
Template repository, diğer repolar için başlangıç noktası olarak kullanılmak üzere işaretlenmiş repodur. Kopyaladığında:
- Tüm dosyalar kopyalanır (commit geçmişi olmadan — fresh start)
.github/workflows,README.md, başlangıç kodu gelir- Tek commit ile temiz başlangıç
Template repo oluşturmak için: repo Settings → General → Template repository kutusunu işaretle.
Template’ten yeni repo oluşturmak için: template repo sayfasında “Use this template” butonu.
# CLI ile template'ten repo oluştur
gh repo create my-new-project --template owner/template-repo --public
Template vs. Fork farkı: Fork, kaynak repoyla bağlantılı kalır (upstream merge edilebilir). Template, bağlantısız bağımsız bir repo oluşturur.
Görünürlük tipleri
| Görünürlük | Kimler görebilir? | Ne zaman kullanılır? |
|---|---|---|
| Public | Herkes (GitHub hesabı olmadan da) | Açık kaynak, portfolio |
| Private | Sadece davet edilenler | Özel projeler |
| Internal | Organizasyon üyeleri | Şirket içi, enterprise |
Internal görünürlük yalnızca GitHub Enterprise organizasyonlarında mevcuttur. Bütün kurumsal çalışanlar görebilsin ama dışarıya kapalı olsun istendiğinde kullanılır.
Organizasyon reposu vs. kişisel repo
| Özellik | Kişisel repo | Organizasyon reposu |
|---|---|---|
| Owner | Bireysel kullanıcı | Organizasyon hesabı |
| Teams | Yok | Var (granular erişim) |
| Billing | Bireysel plan | Org planı |
| Transferability | Diğer kullanıcıya/org’a transfer edilebilir | Org içinde veya dışına |
| Collaboration | Collaborator eklenir | Teams + roles |
Repo ayarları
Repo oluşturulduktan sonra Settings sekmesinde:
- Default branch değiştirmek
- Branch protection rules eklemek
- Deploy keys ve Secrets yönetmek
- GitHub Pages etkinleştirmek
- Topics ve Description düzenlemek
Topics, reponun discover edilmesini sağlar ve sınav topic’lerin nasıl ekleneceğini sorabilir: Settings → General → Topics bölümünden veya web UI üzerinden.
Sınavda dikkat noktaları
- Template repo ile fork arasındaki fark sıklıkla sorulur
- Internal görünürlük sadece Enterprise’da var
- Boş repo ile initialized repo farklı davranır (push için remote set etmek gerekir)
- Organizasyon içinde repo oluşturmak için gerekli izin: org member veya daha üst rol
Sırada ne var?
Sonraki derste clone, fork ve upstream sync işlemlerini ele alacağız.