GitHub'da arama ve filtreler
Search and filters in GitHub
Bu derste neler öğreneceksin
- GitHub global arama syntax'ını öğrenmek
- Issue, PR ve repo aramalarında qualifier'ları kullanmak
- Kod aramasını (code search) ve regex desteğini tanımak
- Kaydedilmiş aramalar ve bildirim filtrelerini bilmek
GitHub’un güçlü arama sistemi GH-900’de sorulur. Doğru qualifier’ları bilmek, büyük projelerde hızlı navigasyonu sağlar ve sınav senaryo sorularında kritik öneme sahiptir.
Global arama temelleri
GitHub ana arama kutusundan erişilir. Varsayılan olarak tüm GitHub’da arar. Belirli bir repo’da aramak için repo:owner/repo qualifier’ı eklenir.
Issue ve PR arama qualifier’ları
# Açık issue'lar
is:open is:issue
# PR'lar
is:pr is:open
# Bana atanan
is:issue assignee:@me
# Benim oluşturduğum
is:issue author:ydemir
# Bug label'lı
is:issue label:bug
# Belirli repo'da
is:issue repo:owner/repo
# Mention'larım
is:issue mentions:ydemir
# Milestone
is:issue milestone:"v2.0"
# Tarih filtresi
is:issue created:>2024-01-01
is:issue updated:<2024-06-01
# Yorum sayısı
is:issue comments:>10
# Yanıtsız
is:issue no:assignee
# Kapalı PR'lar, merged
is:pr is:merged
# Draft PR'lar
is:pr draft:true
Repo arama qualifier’ları
# JavaScript ile yazılmış
language:javascript
# Yıldız sayısı
stars:>1000
stars:500..2000
# Fork sayısı
forks:>100
# Repo adı
repo:owner/my-repo
# Belirli konu (topic)
topic:machine-learning
# Lisans
license:mit
# Boyut (KB)
size:>5000
# Son push
pushed:>2024-01-01
Kod arama
GitHub’ın yeni nesil kod arama motoru (code search) regex ve path filtreleri destekler:
# Belirli dosyada
path:src/auth.js login
# Belirli uzantıda
extension:ts useState
# Belirli repoda
repo:owner/repo function authenticate
# Regex
/function\s+\w+Auth/
# Dil
language:python import pandas
Kullanıcı ve organizasyon arama
# Kullanıcı
type:user location:Istanbul followers:>100
# Organizasyon
type:org members:>50
Bildirim filtreleri
Bildirimler sayfasında (github.com/notifications):
# Mention'lar
reason:mention
# Atanan
reason:assign
# Review isteği
reason:review-requested
# Belirli repo
repo:owner/repo
# Okunmamış
is:unread
Sınav perspektifinden dikkat noktaları
is:pr is:merged— merge edilmiş PR’lar (is:closed ile farklı — kapalı PR merge edilmiş olmayabilir)draft:true— draft PR’ları filtrelerassignee:@me— giriş yapan kullanıcıya atananlar- Kod araması farklı bir arayüze yönlendirir (github.com/search?type=code)
no:label,no:assignee,no:milestone— belirtilen field’ı olmayan item’lar
Pratik arama örnekleri
Sınavda şu tarzda senaryo soruları çıkabilir:
“Takımdaki tüm açık, atanmamış bug issue’larını bulmak için hangi arama kullanılır?”
Cevap: is:open is:issue label:bug no:assignee
“2024’te merge edilen ve test etiketli PR’ları bulun”
Cevap: is:pr is:merged label:test merged:>2024-01-01
Sırada ne var?
Modül 5 tamamlandı. Sonraki modülde gizlilik, güvenlik ve yönetim konularına geçiyoruz.