# 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 add
→ Staging Area
3. git commit
→ Repository
🎭 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
🔄 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
- 🔧 Değişiklik yap (dosya oluştur/düzenle)
- 👀 git status (durumu kontrol et)
- ➕ git add (dosyaları sahneye ekle)
- 👀 git status (tekrar kontrol et)
- 💾 git commit (kalıcı kaydet)
- 📚 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 |
🏠 Dojo Ödevi
Bir sonraki derse kadar:
- Kendi projenizi oluşturun - Farklı bir klasörde git init yapın
- 3 dosya oluşturun - HTML, CSS ve README
- 2 ayrı commit yapın - İlk commit'te HTML, ikinci commit'te CSS
- git log --oneline çıktınızı yorumlarda paylaşın! 💬
- 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!"
Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!