Yeni Başlayanlar için Git ve Github

Git Hataları: Merge Conflict ve Yanlış Push Sorunları

eminbasbayan

eminbasbayan

4 dk okuma
Git Hataları: Merge Conflict ve Yanlış Push Sorunları
🔍 Büyütmek için tıklayın

Bu bölümde Git kullanırken karşılaşabileceğiniz yaygın hataları ve bu hataların nasıl çözüleceğini adım adım inceleyeceğiz. Git'in esnek yapısı sayesinde çoğu hata kolayca çözülebilir, önemli olan hatanın kaynağını anlamaktır.

1. Merge Conflict (Birleştirme Çakışması)

Hata Açıklaması

Farklı branch'lerde aynı dosyanın aynı satırında değişiklik yapıldığında birleştirme sırasında merge conflict oluşur.

Hata Örneği

git merge feature/yeni-ozellik

Çıktı:

CONFLICT (content): Merge conflict in dosya.txt Automatic merge failed; fix conflicts and then commit the result.

Çözüm Adımları

  1. Git, çakışan dosyaları işaretler. Dosyayı açıp <<<<<<<, =======, >>>>>>> gibi işaretlere bakın:
<<<<<<< HEAD Bu kısım master branch'ten geliyor. ======= Bu kısım feature branch'ten geliyor. >>>>>>> feature/yeni-ozellik
  1. Çakışmayı elle çözün:
    • Hangi değişikliğin kalması gerektiğine karar verin
    • Gereksiz kısımları silip dosyayı düzenleyin
  2. Çakışmayı çözdükten sonra değişiklikleri ekleyin ve commit yapın:
git add dosya.txt git commit -m "Merge conflict çözüldü"

2. Yanlışlıkla Commit Yapmak

Hata Açıklaması

Commit mesajını yanlış yazmak veya eksik dosyalarla commit yapmak sık karşılaşılan hatalardandır.

Çözüm 1: Commit Mesajını Düzenlemek

Son commit mesajını değiştirmek için:

git commit --amend -m "Doğru commit mesajı"

Çözüm 2: Dosya Eklemeyi Unutmak

Commit yaptıktan sonra bir dosyayı eklemeyi unuttuysanız:

  1. Dosyayı ekleyin:
git add unuttugum_dosya.txt
  1. Commit'i düzenleyin:
git commit --amend

3. Yanlış Branch'te Çalışmak

Hata Açıklaması

Değişiklikleri yanlış branch'te yaparsanız, o değişiklikleri doğru branch'e taşımanız gerekir.

Çözüm Adımları

  1. Stash Kullanarak Değişiklikleri Kaydedin:
git stash
  1. Doğru branch'e geçin:
git checkout doğru-branch
  1. Stash'teki değişiklikleri geri yükleyin:
git stash pop

4. Commit'i Geri Almak (Undo Commit)

Çözüm 1: Commit'i Silmeden Geri Almak (git revert)

git revert, bir commit'i iptal eden yeni bir commit oluşturur:

git revert commit_id

Çözüm 2: Commit'i Silmek (git reset)

Soft Reset: Commit geri alınır ama değişiklikler kalır.

git reset --soft HEAD~1

Hard Reset: Commit ve değişiklikler tamamen silinir (dikkatli olun!):

git reset --hard HEAD~1

5. Uzak Depoya Yanlışlıkla Push Yapmak

Hata Açıklaması

Yanlışlıkla uzak depoya (örneğin GitHub) bir branch veya commit göndermek istenmeyen bir durumdur.

Çözüm Adımları

  1. Branch'i Silme:

Uzak branch'i silmek için:

git push origin --delete branch_adi
  1. Yanlış Commit'i Düzelterek Push Etme:

Commit'i geri alıp doğru commit'i gönderin:

git reset --hard HEAD~1 git push --force

Not: --force kullanımı dikkat gerektirir çünkü uzak depodaki diğer kullanıcıların kopyalarını etkileyebilir.

6. Untracked Dosyaları Temizlemek

Hata Açıklaması

Git tarafından takip edilmeyen (untracked) dosyalar proje klasöründe kalabalık yaratabilir.

Çözüm

Takip edilmeyen dosyaları silmek için:

git clean -f

7. Değişiklikleri Yanlışlıkla Silmek

Hata Açıklaması

Yanlışlıkla git reset --hard gibi bir komutla değişiklikleri silmek can sıkıcıdır.

Çözüm

Git, her commit'i sakladığı için reflog ile eski commit'lere dönebilirsiniz:

  1. Reflog'u Görüntüleyin:
git reflog
  1. Eski commit'e geri dönün:
git reset --hard commit_id

Özet: Yaygın Git Hataları ve Çözümleri

HataÇözüm
Merge ConflictÇakışan dosyayı düzenleyip commit yapın
Yanlış commit mesajıgit commit --amend ile mesajı düzenleyin
Yanlış branch'te çalışmakgit stash ile kaydedip doğru branch'e taşıyın
Yanlış commit'i geri almakgit revert veya git reset kullanın
Uzak depoya yanlış push yapmakBranch'i silip --force ile düzeltilmiş commit'i gönderin
Untracked dosyaları temizlemekgit clean -f kullanarak temizleyin
Yanlışlıkla silinen değişiklikleri kurtarmagit reflog ile eski commit'e dönün

Sonuç

Bu bölümde, Git kullanırken karşılaşabileceğiniz yaygın hataların çözümlerini öğrendiniz. Merge conflict'ler, yanlış commit'ler veya yanlış push işlemleri gibi sorunları artık kolayca çözebileceksiniz.

Bir sonraki adımda Git bilginizi proje pratikleriyle pekiştirebilir ve gerçek dünyada uygulayabilirsiniz!

Etiketler

#Eğitimler#Yeni Başlayanlar için Git ve Github

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Giriş ve Git’e Genel Bakış
Genel

Giriş ve Git’e Genel Bakış

Bu bölümde, Git ve versiyon kontrolü gibi kavramların temellerini öğrenecek, Git’in nasıl çalıştığını anlamanızı sağlayacak açıklamalar ve temel terimlerle karşılaşacaksınız. Hadi başlayalım! ### **Versiyon Kontrolü Nedir?** Versiyon kont

2 dk
Git ve Gerekli Araçların Kurulumu
Genel

Git ve Gerekli Araçların Kurulumu

Bu bölümde, Git’i bilgisayarınıza nasıl kuracağınızı öğrenecek, kod düzenleme için popüler bir editör olan **VS Code**’u kuracak ve GitHub hesabı oluşturarak uzaktan depolarla çalışmaya başlayacaksınız. Adım adım ilerleyelim! ### **

5 dk
Git Komutları, .gitignore ve SSH Ayarları
Genel

Git Komutları, .gitignore ve SSH Ayarları

Bu bölümde Git komutlarının nasıl kullanıldığını, temel işlemleri ve projelerinizi yönetirken sıkça kullanacağınız araçları öğreneceksiniz. Git’in temel yapı taşlarını adım adım inceleyelim. ### **Git Komutları - Status ve Log (Durum ve Geçmiş)**<

3 dk
Git ve GitHub Workflows (İş Akışları)
Genel

Git ve GitHub Workflows (İş Akışları)

Bu bölümde **GitHub ve yerel çalışma akışları** arasındaki farkları ve bir projenin Git iş akışını adım adım nasıl yöneteceğinizi öğreneceksiniz. Verimli bir şekilde nasıl çalışacağınızı anlamanızı sağlayacak **workflow örnekleri**

4 dk
Branch Yönetimi ve Gelişmiş Git Komutları
Genel

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

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

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

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 üzerind

3 dk