Git Dojo Ders 1: Temel Komutlarla İlk Adımlar

Tarih: 07/08/2025 | Görüntülenme: 53 | Yazar: Aykan SEKON

Git Dojo Ders 1: Temel Komutlarla İlk Adımlar

# Git Dojo Dersi #1: Temel Komutlarla İlk Adımlar

🥋 Git Dojo Dersi #1: İlk Adımlarınızı Atın!

"Ustalar da bir zamanlar çıraktı" - Anonim

Hoş geldiniz geri, genç savaşçı! İlk dersimizde Git'in ne olduğunu öğrendik. Şimdi gerçek eğlence başlıyor - ilk Git komutlarınızı öğrenip kendi elinizle repository oluşturacaksınız!

🎯 Git Sensei'nin Ikinci Dersi

"Bin sayfalık kitap okumak, bir satır kod yazmaktan daha az öğretir. Bugün ellerinizi kirletme zamanı!"

🧠 Önce Git'in Beynini Anlayalım

Komutlara geçmeden önce Git'in nasıl çalıştığını anlayalım. Git bir "zaman makinesi" gibi düşünebilirsiniz!

📸 Git'in 3 Temel Kavramı

🏠 Working Directory (Çalışma Alanı)

Dosyalarınızı düzenlediğiniz yer. Bilgisayarınızdaki normal klasör.

🎭 Staging Area (Sahne Alanı)

Commit'e hazırlanan dosyaların bekle alanı. "Fotoğraf çekilmeyi bekleyen" alan.

📚 Repository (Depo)

Tüm commit'lerin saklandığı yer. Git'in "fotoğraf albümü".

🔄 Git'in Çalışma Döngüsü

1. Dosyayı düzenle → Working Directory

2. git addStaging Area

3. git commitRepository

🎭 Basit Analoji:

  • 📝 Çalışma Alanı = Yazı masanız
  • 🎪 Staging Area = Fotoğraf için poz verme alanı
  • 📸 Repository = Çekilen fotoğraflar albümü

💡 Commit Nedir? - Sihirli Fotoğraf Makinesi

Commit, dosyalarınızın o anki halinin "fotoğrafını çekmek" gibidir. Her commit:

  • 📅 Zaman damgası - Ne zaman yapıldı?
  • 👤 Yazar bilgisi - Kim yaptı?
  • 📝 Açıklama mesajı - Ne değişti?
  • 🔗 Benzersiz ID - Her commit'in parmak izi
  • 📋 Dosya değişiklikleri - Hangi satırlar eklendi/silindi?

🎯 Commit Analojisi:

Commit yapmak oyun kaydetmek gibidir. Oyunda zorlu bir seviyeyi geçtikten sonra kayıt ederseniz, hata yapsanız o noktaya geri dönebilirsiniz!

🎯 Bu Derste Öğreneceğiniz 5 Temel Komut

🚀 git init

Repository başlatma

👀 git status

Durum kontrolü

➕ git add

Dosyaları hazırlama

💾 git commit

Değişiklikleri kaydetme

📚 git log

Geçmişi görüntüleme

🏗️ Pratik Proje: "Benim İlk Git Projesi"

Teoriden sıkıldınız mı? Harika! Çünkü şimdi gerçek bir proje ile öğreneceğiz. "benim-blog" adında basit bir web sitesi projesi oluşturacağız.

📁 Proje Klasörü Oluşturma

# Desktop'ta çalışma klasörümüzü oluşturalım
cd Desktop
mkdir benim-blog
cd benim-blog

# Klasörün içinde olduğumuzu kontrol edelim
pwd

🚀 Komut #1: git init - Repository Doğuşu

git init komutu, sıradan bir klasörü Git repository'sine dönüştürür. Bu, Git'in "Bu klasörü takip etmeye başlıyorum!" demesidir.

🔥 Dojo Pratiği: İlk Repository

# Repository'yi başlatalım!
git init

# Ne oldu bakalım?
ls -la

Beklenen Çıktı:

Initialized empty Git repository in /Users/kullaniciadi/Desktop/benim-blog/.git/

💡 Sensei İpucu

.git klasörü görünmeyen sihirli klasördür! Git'in tüm verileri burada saklanır. Bu klasörü silmeyin - bütün Git geçmişiniz gider!

🎭 Git Init Analojisi

Git Init şuna benzer:

  • 📔 Boş defter almak - Henüz sayfa yok ama hazır
  • 🏠 Ev temeli atmak - Görünmeyen ama kritik
  • 📷 Kamera açmak - Artık fotoğraf çekmeye hazır

👀 Komut #2: git status - Durumu Anlama

git status Git'in "Ne durumda?" sorusuna verdiği cevaptır. En çok kullanacağınız komutlardan biri!

🔥 Dojo Pratiği: İlk Status Kontrolü

# Durumu kontrol edelim
git status

Beklenen Çıktı:

On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)

📋 Status Çıktısını Çözümleme

  • "On branch main" → Ana daldasınız (branch konusunu ileride göreceğiz)
  • "No commits yet" → Henüz hiç commit yapmamışsınız
  • "nothing to commit" → Henüz takip edilecek dosya yok

📝 Dosya Oluşturalım - Aksiyona Geçelim!

Git'in takip edebileceği dosyalar oluşturalım:

# Ana sayfa dosyamızı oluşturalım
echo "<h1>Benim Blog Sitem</h1>" > index.html

# Hakkımda sayfası
echo "<h2>Hakkımda</h2><p>Ben bir Git öğrencisiyim!</p>" > hakkimda.html

# README dosyası
echo "# Benim Blog Projem
Bu proje Git öğrenmek için oluşturuldu." > README.md

# Dosyaları kontrol edelim
ls -la

👀 Komut #2 Tekrar: git status - Şimdi Ne Oldu?

🔥 Dojo Pratiği: Dosyalar Oluştuktan Sonra Status

# Şimdi status ne diyor?
git status

Beklenen Çıktı:

On branch main
No commits yet
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md
	hakkimda.html
	index.html

nothing added to commit but untracked files present (use "git add" to track)

🔍 Dosya Durumları

🔴 Untracked (İzlenmiyor)

Git bu dosyaları tanımıyor. "Bunları takip etmemi istiyor musun?" diyor.

🟢 Staged (Hazırlanmış)

Commit için hazır dosyalar. "Bunları kaydetmeye hazırım!" diyor.

🟡 Modified (Değiştirilmiş)

Daha önce commit edilmiş ama sonra değiştirilmiş dosyalar.

➕ Komut #3: git add - Dosyaları Sahneye Çıkarma

git add komutu dosyaları "staging area"ya (sahne alanı) ekler. Bu, Git'e "Bu dosyaları commit'e hazırla" demektir.

🔥 Dojo Pratiği: Dosyaları Tek Tek Ekleme

# İlk dosyayı ekleyelim
git add index.html

# Status kontrolü
git status

Beklenen Çıktı:

On branch main
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md
	hakkimda.html

🎭 Staging Area Analojisi

Staging Area tiyatro sahnesine benzer:

  • 🎪 Kuliste bekleyenler → Untracked files
  • 🎭 Sahnedekiler → Staged files (git add ile)
  • 📸 Fotoğraf çekilenler → Committed files

⚡ Git Add Varyasyonları

# Tüm dosyaları bir anda eklemek
git add .

# Veya tümünü eklemek için
git add --all

# Belirli uzantıdaki dosyaları eklemek
git add *.html

# Diğer dosyalarımızı da ekleyelim
git add README.md hakkimda.html

# Final kontrol
git status

⚠️ Dojo Kuralı #2

git add . kullanırken dikkatli olun! Bu komut mevcut klasördeki TÜM dosyaları ekler. Bazen istemediğiniz dosyalar da eklenebilir.

💾 Komut #4: git commit - Tarihe Geçme Anı

git commit staged dosyaları kalıcı olarak Git geçmişine kaydeder. Bu, "Fotoğraf çek!" anıdır.

🔥 Dojo Pratiği: İlk Commit

# İlk commit'imizi yapalım!
git commit -m "İlk commit: Blog sitesi temel dosyaları eklendi"

# Alternatif olarak daha kısa
git commit -m "feat: ilk dosyalar eklendi"

Beklenen Çıktı:

[main (root-commit) a1b2c3d] İlk commit: Blog sitesi temel dosyaları eklendi
 3 files changed, 4 insertions(+)
 create mode 100644 README.md
 create mode 100644 hakkimda.html
 create mode 100644 index.html

📝 İyi Commit Mesajı Yazma Kılavuzu

✅ İyi Örnekler

  • "feat: kullanıcı giriş sistemi eklendi"
  • "fix: navbar responsive sorunu çözüldü"
  • "docs: README dosyası güncellendi"
  • "style: CSS formatlaması düzeltildi"

❌ Kötü Örnekler

  • "değişiklik"
  • "düzeltme"
  • "asd"
  • "test"

🔄 Commit Yapmayı Unuttuysanız Ne Olur?

💡 Sensei İpucu

Commit yapmayı unutmak çok normal! Dosyalarınız kaybolmaz, sadece Git geçmişinde yer almazlar. Istediğiniz zaman commit yapabilirsiniz.

📚 Komut #5: git log - Geçmişe Yolculuk

git log commit geçmişinizi gösterir. Git'in "fotoğraf albümü"dür.

🔥 Dojo Pratiği: Geçmiş Görüntüleme

# Standart log
git log

# Daha kısa ve güzel görünüm
git log --oneline

# Grafik görünüm (ileride branch'lerle kullanışlı)
git log --oneline --graph

# Son 3 commit'i göster
git log --oneline -3

Beklenen Çıktı (git log):

commit a1b2c3d4e5f6... (HEAD -> main)
Author: Adınız <email@adresiniz.com>
Date:   Wed Aug 7 14:30:25 2025 +0300

    İlk commit: Blog sitesi temel dosyaları eklendi

🔍 Git Log Çıktısını Anlama

  • commit a1b2c3d... → Benzersiz commit ID (parmak izi)
  • (HEAD → main) → Şu anda buradayız
  • Author → Kim yaptı
  • Date → Ne zaman yapıldı
  • Mesaj → Ne yapıldığını açıklama

🔄 Tam Workflow: Yeni Değişiklik Yapalım

Şimdi tüm komutları birlikte kullanarak yeni bir değişiklik yapalım:

🎯 Senaryo: CSS Dosyası Ekleme

# 1. Yeni dosya oluştur
echo "body { font-family: Arial; }" > style.css

# 2. Durumu kontrol et
git status

# 3. Dosyayı sahneye ekle
git add style.css

# 4. Tekrar kontrol et
git status

# 5. Commit yap
git commit -m "style: temel CSS dosyası eklendi"

# 6. Geçmişi görüntüle
git log --oneline

🔄 Standard Git Workflow

  1. 🔧 Değişiklik yap (dosya oluştur/düzenle)
  2. 👀 git status (durumu kontrol et)
  3. git add (dosyaları sahneye ekle)
  4. 👀 git status (tekrar kontrol et)
  5. 💾 git commit (kalıcı kaydet)
  6. 📚 git log (geçmişi görüntüle)

🚨 Sık Yapılan Hatalar ve Çözümleri

❌ Hata #1: Commit mesajı yazmayı unutma

# Yanlış (mesaj yok)
git commit

# Doğru
git commit -m "açıklama buraya"

❌ Hata #2: git add yapmayı unutma

# Dosya değiştirdim ama commit yapmıyor
git commit -m "değişiklik"
# → "nothing to commit" hatası

# Çözüm: Önce add, sonra commit
git add dosya-adi.txt
git commit -m "değişiklik"

❌ Hata #3: Yanlış klasörde git init

# Desktop'ta git init yaptım, tüm Desktop takip ediliyor!
# Çözüm: .git klasörünü sil
rm -rf .git

🎯 Ders Özeti ve Başarılarınız

🏆 Bugün Neler Başardınız?

  • ✅ İlk Git repository'nizi oluşturdunuz (git init)
  • ✅ Dosya durumlarını öğrendiniz (git status)
  • ✅ Dosyaları commit için hazırladınız (git add)
  • ✅ İlk commit'inizi yaptınız (git commit)
  • ✅ Commit geçmişini görüntülediniz (git log)
  • ✅ Standard Git workflow'unu öğrendiniz

📋 Bugünkü Komutlar - Hızlı Referans

Komut Ne Yapar Örnek
git init Repository başlatır git init
git status Durum gösterir git status
git add Dosya sahneye ekler git add index.html
git commit Değişiklikleri kaydeder git commit -m "mesaj"
git log Geçmişi gösterir git log --oneline

🔥 Sıradaki Ders: "Git Dojo Dersi #2: Branch'ler - Paralel Evrenler Yaratma"

Bir sonraki dersimizde branch kavramını öğreneceğiz! Paralel evrenler yaratıp, güvenle deneyim yapabilmeyi göreceğiz. Feature geliştirme, hotfix yapma gibi gerçek hayat senaryolarını pratik edeceğiz!

🏠 Dojo Ödevi

Bir sonraki derse kadar:

  1. Kendi projenizi oluşturun - Farklı bir klasörde git init yapın
  2. 3 dosya oluşturun - HTML, CSS ve README
  3. 2 ayrı commit yapın - İlk commit'te HTML, ikinci commit'te CSS
  4. git log --oneline çıktınızı yorumlarda paylaşın! 💬
  5. Bonus: Farklı commit mesajları deneyin

💪 Ekstra Pratik Challenge

"To-Do List Projesi" oluşturun:

  • 📄 todo.html - Basit HTML yapısı
  • 🎨 todo.css - Basit stil
  • todo.js - "console.log('Merhaba Git!')"
  • 📋 Her dosya için ayrı commit
  • 🏆 En az 3 commit yapın

🥋 Git Sensei'den

"Tebrikler! Artık Git'in temel komutlarını biliyorsunuz. Unutmayın, ustalaşmanın sırrı tekrardır. Bu komutları günlük rutin haline getirin. Bir sonraki derste paralel evrenler yaratacağız!"


Tarih: 07/08/2025 | Görüntülenme: 53 | Yazar: Aykan SEKON


Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Yeni Yorum Ekle