GitHub CLI, web UI ve Desktop — hangisi ne zaman?
GitHub CLI, web UI and Desktop — when to use what?
Bu derste neler öğreneceksin
- GitHub'a erişim yollarını (web, CLI, Desktop, API) karşılaştırmak
- GitHub CLI (gh) ile git CLI'yı ayırt etmek
- Hangi görev için hangi arayüzün uygun olduğunu belirlemek
- Temel gh komutlarını tanımak
GitHub’a dört farklı yoldan erişilebilir: web tarayıcısı, GitHub CLI (gh), GitHub Desktop ve REST/GraphQL API. GH-900 sınavı bu araçların farklarını ve hangi senaryoda hangisini kullanacağını sorar.
Erişim yolları karşılaştırması
| Araç | Kullanım kolaylığı | Otomasyon | Görsel | İndirme |
|---|---|---|---|---|
| Web UI | En kolay | Sınırlı | Tam | Yok |
| GitHub CLI (gh) | Orta | Yüksek | Yok | Gerekli |
| GitHub Desktop | Kolay | Düşük | Tam | Gerekli |
| REST/GraphQL API | Teknik | En yüksek | Yok | Yok |
| git CLI | Teknik | Yüksek | Yok | Gerekli |
GitHub CLI (gh) nedir?
gh, GitHub’ın resmi komut satırı aracıdır. git komutlarını değil, GitHub platform işlemlerini yapar: PR açma, issue oluşturma, repo yönetimi gibi.
# Kurulum
gh auth login
# Yeni repo oluştur
gh repo create my-project --public
# PR aç
gh pr create --title "Feature: user auth" --body "JWT eklendi"
# PR listele
gh pr list
# Issue oluştur
gh issue create --title "Login bug" --label bug
# Workflow tetikle
gh workflow run deploy.yml
Önemli ayrım: git push Git komutudur; gh pr create GitHub CLI komutudur. İkisi farklı araçlardır, birbirini tamamlar.
Web UI — ne için kullanılır?
- Repo’yu keşfetmek, arama yapmak
- Issue ve PR yorumlarını okumak/yazmak
- Dosya düzenlemek (küçük değişiklikler)
- GitHub Actions sonuçlarını izlemek
- Settings sayfaları (branch protection, secrets)
- Kod review (inline comment)
GitHub Desktop — ne için kullanılır?
GitHub Desktop görsel bir Git istemcisidir. Komut satırı bilgisi olmadan:
- Commit oluşturmak
- Branch oluşturmak ve değiştirmek
- Değişiklikleri görsel diff ile incelemek
- Push/pull yapmak
Takımlarda yeni başlayanlar veya non-teknik katkıcılar için uygundur.
Codespaces (kısaca)
GitHub Codespaces, doğrudan tarayıcıda veya VS Code bağlantısıyla çalışan bir geliştirme ortamıdır. Yerel kurulum gerekmez. PR review’ları, hızlı düzeltmeler ve CI debug için kullanışlıdır. Modül 4’te daha detaylı ele alınacak.
Sınav perspektifinden dikkat noktaları
ghilegitkarıştırılmamalı — farklı araçlar- Web UI ile yapılabilen her şey CLI ile de yapılabilir (tersi her zaman geçerli değil)
- Otomasyon ve CI/CD senaryolarında CLI veya API tercih edilir
- GitHub Desktop üçüncü taraf araç değil, GitHub’ın resmi masaüstü istemcisi
Sınavda çıkabilecek soru örneği
“Bir CI/CD pipeline’ı her PR merge’inde otomatik issue kapamak istiyor. Hangi araç veya yöntem en uygunudur?”
Cevap: GitHub Actions + gh issue close komutu veya closes #<issue-number> commit/PR referansı. Web UI ile bu otomatikleştirilemez.
Sırada ne var?
Modül 1 tamamlandı. Sonraki modülde repository yönetimine — oluşturma, fork, clone, template ve release — geçiyoruz.