Learn Git and Github-4

First steps to learn git.

Gelişmiş Git & GitHub İş Akışı

Git & GitHub İleri Seviye Akış

Çok Sayfalı Uygulamalarda Çakışmalar, Geri Almalar ve Gelişmiş Komutlar

1. Profesyonel Proje Başlangıcı Kurulum

Projeye sadece HTML dosyalarını atıp geçmiyoruz. Gereksiz dosyaların (örneğin IDE ayarları, Mac’teki .DS_Store dosyaları) GitHub’a gitmesini engellemek için bir .gitignore dosyası oluşturuyoruz.

# .gitignore dosyasını oluştur
touch .gitignore

# İçine gereksiz klasör/dosya isimlerini yazarsın. Sonra ilk commiti atalım:
git add .
git commit -m “feat: Semantic HTML yapısı ve temel navigasyon eklendi”

2. İşi Yarım Bırakmak Zorunda Kalmak Stash

Senaryo: Çoklu sayfa yapısındaki <nav> etiketlerindeki gizlenme sorununu çözüyorsun. Kodlar henüz çalışmıyor ama aniden ana sayfadaki (index.html) bir yazım hatasını düzeltmen gerekti. Çalışmayan kodu commit’leyemezsin!

Hayat Kurtaran Bilgi: Git Stash, o anki değişiklikleri geçici bir çekmeceye koyar ve çalışma alanını son commit haline tertemiz geri döndürür.
# Yarım kalan işleri çekmeceye at
git stash

# Şimdi ana sayfadaki hatayı düzelt ve commit et…
git commit -am “fix: Ana sayfadaki yazım hatası düzeltildi”

# Çekmecedeki yarım kalan navigasyon işini geri al
git stash pop

3. Kabus Senaryosu: Çakışma Çözümü Merge Conflict

Senaryo: Sen fix-nav dalında navigasyonu düzeltirken, bir takım arkadaşın (veya sen başka bir bilgisayarda) ana dalda (main) aynı satırdaki HTML kodunu değiştirdi. Bu iki dalı birleştirirken “Merge Conflict” oluşur.

Çatışma Uyarı! Git bu durumda “Hangi kodu tutmalıyım, karar ver!” diyerek işlemi durdurur. HTML dosyanın içinde garip <<<<<<< HEAD işaretleri belirecektir.
# Ana dala geç ve birleştirmeyi dene
git checkout main
git merge fix-nav

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

Nasıl Çözülür? Kod editöründe (örn: VS Code) index.html dosyasını aç. Doğru kodu manuel olarak seçip o garip işaretleri sil. Sonra:

# Çakışmayı çözdüğünü Git’e bildir ve birleşmeyi tamamla
git add index.html
git commit -m “merge: Navigasyon düzeltmesi ile ana dal çakışmaları giderildi”

4. Neler Oldu Bitti? Log & Diff

Proje büyüdükçe kim, ne zaman, hangi dosyayı bozdu bulmak gerekir.

# Projenin tarihçesini tek satırlık özetler halinde gör
git log –oneline –graph

# Yaptığın son değişiklik ile bir önceki commit arasındaki farkları (eklenen/silinen satırları) gör
git diff

5. Geri Vites Seçenekleri Revert & Reset

Bazen attığın commit’in projeyi tamamen bozduğunu fark edersin. İşleri geri almanın iki yolu vardır:

Dikkat: reset --hard komutu tehlikelidir. Kaydedilmemiş ve o commit’ten sonraki tüm işleri acımasızca siler. GitHub’a gönderilmiş (push edilmiş) commitlerde reset kullanmak yerine revert tercih edilmelidir.
# SEÇENEK 1: Güvenli Yol (Revert)
# Kötü commit’i silmez, tam tersi bir işlem yaparak hatayı düzelten YENİ bir commit atar.
git revert <commit-kodu-ornek: a1b2c3d>

# SEÇENEK 2: Yıkıcı Yol (Reset)
# Projeyi tam olarak bir önceki commit’in olduğu saniyeye geri döndürür. Sonraki her şeyi çöpe atar.
git reset --hard HEAD~1

Bir Cevap Yazın

mutmainkalb sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin

mutmainkalb sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin