Appearance
Uzak Depolar (Remote Repositories) & GitHub
1. Uzak Depolarla Çalışmak
Depoyu Klonlama (Cloning)
Uzak bir sunucudan (GitHub gibi) bir depoyu indirin.
bash
git clone https://github.com/kullaniciadi/repo.gitUzak Depo Ekleme (Adding Remote)
Yerel bir depoyu uzak bir depoya bağlayın.
bash
git remote add origin https://github.com/kullaniciadi/repo.gitUzak Depoları Doğrulama
bash
git remote -v2. Değişiklikleri Eşitleme (Syncing)
Push (Gönderme)
Yerel branch commit'lerinizi uzak depoya yükleyin.
bash
git push -u origin mainPull (Çekme)
Uzak depodaki değişiklikleri indirip yerel branch'inizle birleştirin.
bash
git pull origin mainFetch (Getirme)
Başka bir depodan nesneleri ve referansları indirin (otomatik olarak birleştirmez).
bash
git fetch origin3. GitHub İş Akışı
Forking (Çatallama)
Başkasının deposunun bir kopyasını kendi GitHub hesabınız altında oluşturmaktır.
Pull Requests (PR)
Bir depoya değişiklik önermektir.
- Repoyu Fork'layın.
- Fork'unuzu klonlayın.
- Bir özellik (feature) branch'i oluşturun.
- Değişiklik yapın ve commit edin.
- Fork'unuza push'layın.
- GitHub üzerindeki orijinal depoda bir Pull Request açın.
.gitignore
Git'in görmezden gelmesi gereken dosyaları (örn: build çıktıları, loglar, gizli anahtarlar) belirten dosyadır.
text
# .gitignore örneği
node_modules/
.env
*.logTakım Çalışması: PR Akışı (Sıralı)
Çok katılımcılı projede önerilen adımlar:
- Güncel kodu çek:bash
git checkout main git fetch origin git pull --rebase origin main - Branch aç ve çalış:bash
git checkout -b feature/konu # değişikliklerini yap git add . git commit -m "Özet mesaj" - Branch'i güncel tut: (Çatışma riskini azaltır)bash
git fetch origin git rebase origin/main # büyük ekipte rebase tercih edilir; istersen merge de kullanabilirsin - Push ve PR aç:bashGitHub’da PR oluştur, açıklamaya test adımlarını ekle.
git push -u origin feature/konu - Code review & test: Branch protection/required checks varsa testler geçmeli. Review sonrası düzeltmeleri push et (rebase yaptıysan
git push --force-with-lease). - Merge stratejisi:
- Squash merge: Tek commit isterken.
- Merge commit: Tarihçe korunacaksa.
- Rebase merge: Lineer tarih için küçük ekiplerde.
Çakışma olursa lokal çözüp yeniden push et.
- Temizlik: Merge sonrası branch’i sil, lokalde de temizle:bash
git checkout main git pull --rebase origin main git branch -d feature/konu git push origin :feature/konu
İpuçları:
- PR’ı küçük ve odaklı tut; açıklamaya test sonucu/log/ekran görüntüsü koy.
.gitignoreile gereksiz dosyaları dışarıda bırak.- Büyük ekipte
CODEOWNERSve branch protection (review + test) kullan. git fetch+git rebase origin/mainile PR’ını güncel tutmak, “merge conflict” yükünü azaltır.