Ana Sayfa AI Eğitimler Projeler Araçlar
GitHub Rehberi

GitHub Rehberi

GitHub kullanımı, Git temelleri ve en iyi repositoryler

GitHub Nedir?

GitHub, yazılım geliştirme projelerini barındıran ve versiyon kontrolü sağlayan dünyanın en büyük platformudur. 100 milyondan fazla geliştirici ve 420 milyondan fazla repository ile açık kaynak yazılımın merkezi haline gelmiştir.

Git versiyon kontrol sistemi üzerine inşa edilen GitHub, kod paylaşımı, işbirliği, code review, CI/CD ve proje yönetimi için kullanılır. Microsoft tarafından 2018'de satın alınmıştır.

Version Control Open Source Collaboration
Git Version Control

Temel Kavramlar

Ekip İşbirliği ve Git Kavramları

Repository (Repo)

Proje dosyalarınızın ve tüm versiyon geçmişinin depolandığı yer. Public veya Private olabilir.

Commit

Yaptığınız değişikliklerin anlık görüntüsü. Her commit bir mesaj ve benzersiz hash içerir.

Branch

Ana koddan bağımsız geliştirme dalı. Yeni özellikler veya düzeltmeler için kullanılır.

Pull Request (PR)

Değişiklikleri ana koda birleştirme talebi. Code review ve tartışma imkanı sağlar.

Fork

Başka birinin projesinin kendi hesabınıza kopyası. Açık kaynak katkıları için kullanılır.

Star & Watch

Beğendiğiniz projeleri star ile işaretleyin, watch ile güncellemelerden haberdar olun.

Git İş Akışı (Workflow)

Working Directory
Dosya düzenleme
Staging Area
git add
Local Repo
git commit
Remote (GitHub)
git push

Nasıl Çalışır?

1

GitHub.com'da Hesap Oluşturun

github.com adresine gidin, ücretsiz hesap oluşturun. Profesyonel bir kullanıcı adı seçin (gerçek adınız veya tutarlı bir nick).

2

Git'i Bilgisayarınıza Kurun

# macOS brew install git # Windows winget install Git.Git # Linux sudo apt-get install git # İlk konfigürasyon git config --global user.name "Adınız" git config --global user.email "email@ornek.com"
3

SSH Key Oluşturun (Önerilir)

# SSH key oluştur ssh-keygen -t ed25519 -C "email@ornek.com" # Key'i kopyala cat ~/.ssh/id_ed25519.pub # GitHub > Settings > SSH Keys > New SSH Key # Kopyaladığınız key'i yapıştırın
4

İlk Repo'nuzu Oluşturun

# Yeni proje oluştur mkdir my-first-project && cd my-first-project git init # README ekle echo "# My First Project" > README.md git add README.md git commit -m "Initial commit" # GitHub'a bağla ve push et git remote add origin git@github.com:username/my-first-project.git git push -u origin main

Branching (Dallanma)

Git Branch Stratejileri

Branching, ana kodunuzu bozmadan yeni özellikler geliştirmenizi sağlar. Her branch bağımsız bir "paralel evren" gibi düşünün.

# Yeni branch oluştur ve geç git checkout -b feature/user-auth # Branch'ler arası geçiş git checkout main git checkout feature/user-auth # Branch listesi git branch -a # Branch silme git branch -d feature/completed-feature # Remote branch silme git push origin --delete feature/old-branch

Branch Stratejileri

main / master

Production-ready kod. Direkt commit yapılmaz, sadece PR ile merge edilir.

develop

Aktif geliştirme dalı. Feature branch'ler buraya merge edilir.

feature/*

Yeni özellikler için. Örnek: feature/login, feature/payment

hotfix/*

Acil düzeltmeler. main'den dallanır, main'e merge edilir.

Pull Request

Pull Request (PR), yaptığınız değişiklikleri ana dala birleştirmek için kullanılır. Code review, tartışma ve CI/CD testlerinin çalıştırılması PR sürecinin parçasıdır.

PR Best Practices

  • Küçük PR'lar: Her PR tek bir özellik veya düzeltme içersin (max 400 satır)
  • Açıklayıcı başlık: "Fix bug" yerine "Fix: JWT token expiry causing 401 on refresh"
  • Detaylı açıklama: Ne değişti, neden değişti, nasıl test edilir
  • Screenshot ekleyin: UI değişikliklerinde öncesi/sonrası görüntüleri
  • Self-review: PR'ı göndermeden önce kendi kodunuzu inceleyin
  • CI/CD testleri: Tüm testlerin geçtiğinden emin olun

PR Oluşturma (CLI ile)

# GitHub CLI kurulumu brew install gh # macOS winget install GitHub.cli # Windows # Login gh auth login # PR oluştur gh pr create --title "feat: Add user authentication" \ --body "## Summary - JWT-based authentication - Login/register forms - Password reset flow ## Test Plan - [ ] Login with valid credentials - [ ] Register new account - [ ] Reset password flow" # PR listele gh pr list # PR incele gh pr view 42 # PR merge et gh pr merge 42 --squash

GitHub Actions (CI/CD)

GitHub Actions CI/CD Pipeline

GitHub Actions, kod push veya PR gibi olaylara tepki veren otomatik iş akışlarıdır. Test çalıştırma, build, deploy gibi CI/CD süreçlerini otomatize eder.

# .github/workflows/ci.yml name: CI Pipeline on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - run: npm run lint - run: npm run type-check - run: npm test deploy: needs: test runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - run: npm ci && npm run build # Deploy adımları...

En İyi 100 Repository

AI yazılım takımınız. 137 agent, 269 skill, 53 hook. Kendi kendine öğrenen, çoklu-agent sürüsü, projeler arası eğitim. Claude Code üzerine inşa edilmiş açık kaynak vibe coding ekosistemi.

348 yıldız C#

Ücretsiz kodlama eğitim platformu

397K yıldız TypeScript

Geliştirici yol haritaları

290K yıldız TypeScript

Harika listeler koleksiyonu

320K yıldız Markdown

Ücretsiz API listesi

310K yıldız Python

Sistem tasarımı öğrenme kaynağı

270K yıldız Python

Facebook React kütüphanesi

228K yıldız JavaScript

React framework - Vercel

125K yıldız JavaScript

Google ML framework

185K yıldız C++

LLM uygulama framework

92K yıldız Python

Terminal Komutları — Cheatsheet

# ═══════════════════════════════════ # GIT KOMUTLARI CHEATSHEET # ═══════════════════════════════════ # --- Konfigürasyon --- git config --global user.name "Adınız" git config --global user.email "email@ornek.com" git config --global init.defaultBranch main # --- Repo Başlatma --- git init # Yeni repo git clone https://github.com/user/repo.git # Klonla # --- Değişiklik Yönetimi --- git status # Durum kontrolü git add . # Tümünü stage'e al git add dosya.txt # Tekil dosya git commit -m "Açıklama" # Commit git push origin main # Push git pull origin main # Pull (fetch + merge) # --- Branch İşlemleri --- git branch # Branch listesi git checkout -b feature/login # Yeni branch oluştur git checkout main # Branch değiştir git merge feature/login # Merge git branch -d feature/login # Sil # --- Geçmiş --- git log --oneline --graph # Görsel log git diff # Değişiklikleri gör git diff --staged # Stage'deki değişiklikler # --- Geri Alma --- git stash # Geçici kaydet git stash pop # Geri yükle git reset --soft HEAD~1 # Son commit'i geri al git checkout -- dosya.txt # Dosya değişikliğini geri al # --- Remote --- git remote add origin URL # Remote ekle git remote -v # Remote listesi git fetch origin # Değişiklikleri al (merge etme)