Tüm blog yazıları

Branch Yönetimi ve Gelişmiş Git Komutları

Bu bölümde, Git’in ileri seviye özelliklerinden olan branching (dallandırma), stash kullanımı ve değişiklikleri geri alma yöntemleri olan git revert ve git

eminbasbayan4 dk okuma
Branch Yönetimi ve Gelişmiş Git Komutları

Bu bölümde, Git’in ileri seviye özelliklerinden olan branching (dallandırma), stash kullanımı ve değişiklikleri geri alma yöntemleri olan git revert ve git reset komutlarını öğreneceksiniz. Bu komutlar, daha karmaşık projeleri yönetirken iş akışınızı kolaylaştıracaktır.

Git Branching (Dallandırma)

Branch Nedir?

Branch (dal), ana projeyi bozmadan yeni özellikler geliştirmek veya hataları düzeltmek için oluşturulan bir kopyadır.

Neden Branch Kullanılır?

  • Ana kod tabanını bozmazsınız.
  • Aynı anda birden fazla özellik üzerinde çalışabilirsiniz.
  • Takım çalışmasında kodları izole ederek birleştirme kolaylığı sağlar.

Yeni Bir Branch Oluşturma

Yeni bir branch oluşturmak için:

bash
git checkout -b feature/yeni-ozellik
  • feature/yeni-ozellik: Oluşturulan branch’in adı.

Branch’ler Arasında Geçiş Yapma

Farklı bir branch’e geçmek için:

bash
git checkout branch_adi

Örnek:

bash
git checkout master

Mevcut Branch’leri Listeleme

Tüm branch’leri görmek için:

bash
git branch

Çıktı Örneği:

metin
  master
* feature/yeni-ozellik
  • Yıldız (*) geçerli olan branch’i gösterir.

Branch’leri Birleştirme (Merge)

Branch’te yaptığınız değişiklikleri ana branch’e (örneğin master) birleştirmek için:

  1. Ana branch’e geçin:
bash
git checkout master
    ```
    
2. Branch’i birleştirin:
```bash
git merge feature/yeni-ozellik
    ```
    
3. Birleştirme tamamlandıktan sonra eski branch’i silebilirsiniz:
```bash
git branch -d feature/yeni-ozellik
    ```


### **Git Stash Kullanımı (Değişiklikleri Geçici Olarak Saklama)**

### **Stash Nedir?**

Stash, çalışma alanındaki değişiklikleri **geçici olarak kaydedip saklamanızı** sağlar. Özellikle branch değiştirirken henüz tamamlanmamış çalışmaları kaybetmemek için kullanılır.

![](/blog-media/a1c90b91c58b3897290dab75.gif)



### **Değişiklikleri Stash’e Kaydetmek**

```bash
git stash

Örnek:

metin
Saved working directory and index state WIP on master: 1a2b3c4 Commit mesajı

Stash’leri Listeleme

Tüm stash’leri görüntülemek için:

bash
git stash list

Çıktı Örneği:

metin
stash@{0}: WIP on master: 1a2b3c4 Commit mesajı
stash@{1}: WIP on feature: 3d4e5f6 Diğer değişiklikler

Stash’i Geri Yükleme

Saklanan değişiklikleri geri yüklemek için:

bash
git stash apply

Stash’i kaldırarak yüklemek için:

bash
git stash pop

Belirli Bir Stash’i Silme

Bir stash’i silmek için:

bash
git stash drop stash@{0}

Git Revert ve Reset Farkı (Değişiklikleri Geri Alma)

Git’te değişiklikleri geri almak için iki önemli komut vardır: git revert ve git reset. İkisi arasındaki fark şudur:

KomutAçıklama
git revertYeni bir commit oluşturarak belirtilen değişiklikleri geri alır.
git resetBelirli bir commit’e geri döner ve değişiklikleri kaldırır veya düzenler.

1. Git Revert

git revert, geçmişteki bir commit’i geri almak için kullanılır ve değişiklikleri iptal eden yeni bir commit oluşturur.

Kullanımı:

bash
git revert commit_id

Örnek:

bash
git revert 1a2b3c4

Bu işlem, orijinal commit’i değiştirmez ve güvenlidir çünkü projenin geçmişini bozmadan ilerler.

2. Git Reset

git reset, projeyi belirli bir commit’e geri alır. Reset kullanırken dikkatli olunmalıdır çünkü geri alınan değişiklikler kalıcı olarak silinebilir.

Kullanımı:

  • Soft Reset: Değişiklikler kaybolmaz, sadece commit geri alınır:
bash
git reset --soft commit_id
    ```
    
- **Mixed Reset:** Commit geri alınır ve değişiklikler staging alanından çıkarılır:
```bash
git reset --mixed commit_id
    ```
    
- **Hard Reset:** Tüm değişiklikler silinir (geri dönüş yoktur!):
```bash
git reset --hard commit_id
    ```

**Örnek:**
```bash
git reset --hard 1a2b3c4

Özet ve Örnek Senaryo

Bir projede yeni bir özellik üzerinde çalışırken bir hata yaptığınızı düşünelim:

  1. Yeni bir branch oluşturun:
bash
git checkout -b feature/yeni-ozellik
    ```
2. **Çalışmayı bitirmeden branch değiştirmek için stash kullanın:**
```bash
git stash
git checkout master
    ```
    
3. **Eski bir commit’i geri almak için revert kullanın:**
```bash
git revert 1a2b3c4
    ```
    
4. **Stash’i geri yükleyin:**
```bash
git stash pop
    ```

### **Sonuç**

Bu bölümde Git’in ileri seviye konularını öğrendiniz:

- **Branching** ile projelerinizi organize ettiniz.
- **Stash** kullanarak tamamlanmamış değişiklikleri geçici olarak sakladınız.
- **Revert** ve **Reset** ile değişiklikleri nasıl geri alacağınızı öğrendiniz.

Bir sonraki bölümde, **takımla çalışma ve iş birliği** konularını inceleyeceğiz.

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele