Bu sayfada · 12 başlık
Bir özelliği denemek için bütün projeyi klasör klasör kopyalamak zorunda değilsin. Git dalı, çalışmalarını ayrı bir geçmiş çizgisinde ilerletmeni sağlar. Dal değiştirirken çalışma alanındaki kaydedilmemiş değişiklikleri anlamak ise karışıklığı önler.
Önce neyi çözmek istediğini belirle
Bir değişikliği ayrı dalda hazırlayıp ana çalışmaya katacağız. Merge işlemi dosya metinlerini birleştirmeye çalışır; uygulamanın doğru çalıştığını kendisi kanıtlamaz.
Adım adım uygula
- 1 Temiz başlangıç yap. git status ile bekleyen değişiklikleri incele. Deneme öncesinde anlamlı bir commit al; açık dosyanın her değişikliğinin otomatik kaybolmayacağını bil.
- 2 Dal aç ve çalış. git switch -c ozellik/baslik ile bir dal oluştur. Küçük bir düzenleme yapıp bu dalda commit al.
- 3 Birleştir ve doğrula. Ana dalına dön, git merge ile özelliği birleştir. Ana dalın adı depoya göre main veya başka bir şey olabilir; git branch ile bak.
Küçük bir örnek
git switch -c ozellik/baslik
# Dosyayı değiştir ve commit al
git switch main
git merge ozellik/baslik
git log --oneline --graph --all
Sık takılınan nokta
Çakışma mesajı bir felaket değildir. İki dal aynı bölümü farklı değiştirdiyse hangi içeriğin kalacağını seçmen gerekir. İşaretleri körü körüne silmek yerine iki tarafın amacını oku ve birleştirme sonrası çalıştır.
Şimdi kendin dene
Deneme deposunda iki dalda farklı başlıklar yaz. Birleştirmede çakışmayı gözlemle, istediğin içeriği seç ve çözümü kaydet. Bunu önemli bir projede ilk kez deneme.
Bir sonraki adım Git kurulum ve sürüm kaydı rehberi →Git İş Akışında En Sık Kullanılan Komutlar ve Görev Tablosu
Git branch nasıl açılır ve birleştirilir? Küçük proje örneği konusunu uygularken hangi komutun dosyayı hangi aşamaya taşıdığını bilmek, yanlışlıkla kod kaybetmeni önler:
| Komut | Ne Yapar? | Ne Zaman Kullanılır? | Dikkat Edilecek Nokta |
|---|---|---|---|
git status |
Değişen, eklenen ve izlenmeyen dosyaları listeler | Her işlemden önce ve sonra durumu görmek için | Hiçbir dosyayı değiştirmez, tamamen güvenlidir |
git diff |
Kaydedilmemiş satır farklarını gösterir | Commit atmadan önce "Ben neyi değiştirdim?" demek için | Unutulan `console.log` veya test satırlarını yakalar |
git add <dosya> |
Seçilen dosyayı hazırlık alanına (Staging) alır | Yalnızca ilgili değişikliği pakete dahil etmek için | `git add .` yapmadan önce `.gitignore` dosyasını kontrol et |
git commit -m "mesaj" |
Hazırlık alanındaki dosyaların kalıcı anlık görüntüsünü alır | Anlamlı bir küçük adım tamamlandığında | Mesajda "ne ve neden değişti" kısaca açıklanmalıdır |
git switch -c <dal-adi> |
Yeni bir çalışma dalı (branch) oluşturup oraya geçer | Yeni bir özellik veya hata düzeltmesine başlarken | Ana dalı (`main`) her zaman çalışır durumda tutar |
Git ve GitHub Kullanırken 4 Altın Kural
- 1. Gizli Anahtarları ve `.env` Dosyasını Asla Commit Etme: Veritabanı şifrelerini ve API anahtarlarını ilk commit'ten önce `.gitignore` dosyasına ekle.
- 2. Dev Klasörleri (`node_modules`, `venv`, `bin/obj`) Depoya Gönderme: Bağımlılık klasörleri yerine yalnızca `package.json` veya `requirements.txt` dosyasını depoda tut.
- 3. Küçük ve Anlamlı Commit'ler At: 20 farklı dosyayı tek bir "güncelleme" mesajıyla kaydetmek yerine her özelliği ayrı commit olarak kaydet.
- 4. Paylaşılan Dalda `push --force` Kullanmaktan Kaçın: Ekip arkadaşlarının çalıştığı bir dalda geçmişi zorla ezmek diğer kişilerin çalışmalarını bozabilir.
Merge Conflict (Birleştirme Çakışması) Çıkarsa Nasıl Çözülür?
İki farklı dalda (örneğin main ve yenilik) aynı dosyanın aynı satırı değiştirildiyse Git hangi satırı koruyacağına senin karar vermeni ister ve dosyaya <<<<<<< HEAD işaretleri ekler. Panik yapmadan şu 3 adımı uygula:
- 1. Çakışan dosyayı VS Code içinde aç: Editör sana Accept Current Change (Mevcut dalı koru) veya Accept Incoming Change (Gelen dalı kabul et) düğmelerini gösterir.
- 2. İşaret satırlarını temizle: Tutmak istediğin doğru kodu bıraktıktan sonra
<<<<<<<,=======ve>>>>>>>satırlarının tamamen silindiğinden emin ol ve dosyayı kaydet. - 3. Birleştirmeyi tamamla: Terminalde
git add <dosya-adi>ve ardındangit commit -m "Birleştirme çakışması çözüldü"komutunu çalıştırarak işlemi bitir.
Sıkça Sorulan Sorular (SSS)
Yanlışlıkla `git add` yaptığım bir dosyayı nasıl geri çıkarırım? +
Dosyadaki kodlarını silmeden yalnızca hazırlık alanından (staging) çıkarmak için git restore --staged <dosya-adi> komutunu çalıştırabilirsin.
`git commit` yaptıktan sonra kodlarım otomatik olarak GitHub'a gider mi? +
Hayır. `git commit` değişikliği yalnızca senin bilgisayarındaki yerel `.git` veritabanına kaydeder. Uzak sunucuya (GitHub veya GitLab) göndermek için ayrıca git push komutunu çalıştırman gerekir.
Kaynak ve devamı
Yayın: · Güncelleme:
Yazan
Webino App Ekibi
Teknolojiyi sade Türkçeyle anlatan rehberler. Örnekleri kendin deneyebilir, bağlantılı resmi belgelerle konuyu derinleştirebilirsin.
Bunları da okuyabilirsin
Tüm yazılar →Yorumlar
Soruların ya da eklemek istediklerin varsa yaz.
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.


