Git ve GitHub ile Ekip Çalışması: Fork, Pull Request ve Git Flow
eminbasbayan

İçindekiler
Bu yazıda neler var?
Bu bölümde Git ve GitHub kullanarak bir ekip ile nasıl verimli bir şekilde çalışabileceğinizi öğreneceksiniz. Özellikle fork işlemi, pull request’ler ve kod gözden geçirme süreçleri üzerinde duracağız. Ayrıca iş akışı modellerinden Git Flow gibi sistemlere değineceğiz.
Fork İşlemi (Projeleri Çatallama)
Fork Nedir?
Fork, başka birinin GitHub’da bulunan projesinin bir kopyasını kendi hesabınıza aktarma işlemidir. Özellikle açık kaynak projelerde katkıda bulunmak isteyen geliştiriciler için kullanışlıdır.
Fork İşleminin Amacı:
- Orijinal projeyi bozmadan kendi üzerinde geliştirme yapmak.
- Değişiklikleri tamamladıktan sonra orijinal projeye Pull Request göndermek.
Fork İşlemi Adımları:
- GitHub’da forkladığınız projeye gidin ve Fork butonuna tıklayın.
- Fork’lanan proje, sizin hesabınıza kopyalanır.
- Kendi bilgisayarınıza klonlayın:
git clone https://github.com/kullanici_adi/proje_adi.git
```
### **Fork’ladığınız Projeyi Güncellemek**
Orijinal projede değişiklikler yapıldığında, kendi fork’unuzu güncellemeniz gerekir.
1. **Orijinal Depoyu Ekleyin:**
```bash
git remote add upstream https://github.com/orijinal_kullanici/orijinal_proje.git
```
2. **Değişiklikleri Çekin:**
```bash
git fetch upstream
git merge upstream/master
```
### **Collaborative (İş Birlikçi) Çalışma: Pull Request, Kod Gözden Geçirme**
### **Pull Request (PR) Nedir?**
Pull Request, bir branch’te yaptığınız değişikliklerin orijinal projeye dahil edilmesi için yapılan bir istektir. PR sayesinde kod gözden geçirilir, test edilir ve onaylanır.
### **Pull Request Oluşturma Adımları:**
1. **Branch Oluşturun ve Çalışmalarınızı Yapın:**
```bash
git checkout -b feature/yeni-ozellik
git add .
git commit -m "Yeni özellik eklendi"
git push origin feature/yeni-ozellik
```
2. **GitHub Üzerinden PR Oluşturun:**
- GitHub’a gidin ve "Compare & Pull Request" butonuna tıklayın.
- PR başlığı ve açıklaması ekleyin.
- Değişiklikleri gözden geçirip gönderin.
### **Kod Gözden Geçirme (Code Review)**
Kod gözden geçirme süreci, takım arkadaşlarınızın yaptığınız değişiklikleri kontrol etmesini sağlar.
- Takım arkadaşlarınız yorum bırakabilir ve önerilerde bulunabilir.
- Düzenlemeler yaptıktan sonra commit ekleyip PR’yi güncelleyebilirsiniz.
**Yeni Commit Eklemek İçin:**
```bash
git add .
git commit -m "Kod gözden geçirme sonrası düzeltmeler"
git push origin feature/yeni-ozellikGit Flow ve Başka İş Akışı Modelleri
Git Flow Nedir?
Git Flow, projelerde düzenli ve tutarlı bir iş akışı sağlamak için kullanılan bir modeldir. Özellikle büyük projelerde kullanılır.
Git Flow’un Temel Branch’leri:
- master (ana dal):
- Üretimde çalışan ve her zaman stabil olan koddur.
- develop (geliştirme dalı):
- Yeni özelliklerin ve değişikliklerin birleştirildiği branch’tir.
- feature (özellik dalı):
- Yeni özellikler için oluşturulan geçici branch’lerdir.
developbranch’ten oluşturulur ve tamamlandıktan sonradevelopile birleştirilir.
- release (yayın dalı):
- Yayına hazırlanmak için yapılan son düzenlemelerin toplandığı branch’tir.
- hotfix (hata düzeltme dalı):
- Üretimde karşılaşılan kritik hataları düzeltmek için
masterbranch’ten oluşturulur.
- Üretimde karşılaşılan kritik hataları düzeltmek için
Git Flow Adımları:
- Yeni Özellik Üzerinde Çalışma:
git checkout develop
git checkout -b feature/yeni-ozellik
```
2. **Özellik Tamamlandıktan Sonra:**
```bash
git checkout develop
git merge feature/yeni-ozellik
```
3. **Release Branch Oluşturma:**
```bash
git checkout -b release/v1.0
```
4. **Hata Düzeltmesi Yapma (Hotfix):**
```bash
git checkout master
git checkout -b hotfix/critical-bug
```
### **Özet ve Pratik Örnek**
Takımla iş birliği yaparken izlenecek temel adımlar:
1. **Fork işlemi yaparak projeyi kopyalayın.**
2. Yeni bir branch oluşturup değişikliklerinizi yapın:
```bash
git checkout -b feature/yeni-ozellik
git add .
git commit -m "Yeni özellik eklendi"
git push origin feature/yeni-ozellik
```
3. **Pull Request (PR) gönderin** ve kod gözden geçirme sürecini tamamlayın.
4. Git Flow gibi iş akışı modellerini kullanarak projeyi düzenli ve organize tutun.
### **Sonuç**
Bu bölümde takımla nasıl verimli çalışacağınızı, **fork işlemini**, **pull request oluşturmayı** ve **kod gözden geçirme** adımlarını öğrendiniz. Ayrıca Git Flow ve diğer iş akışı modellerine giriş yaptınız.
Bir sonraki bölümde **yaygın Git hataları** ve bu hataları nasıl çözeceğinizi öğreneceksiniz!




