Neden? • Müfredat • Nasıl Çalışır?
"Git, sadece kodunuzu kaydettiğiniz bir depo değildir.
Git, hatalarınızdan dönmenizi sağlayan bir zaman makinesidir."
İnternette yüzlerce Git kaynağı var. Çoğu sana "Commit atmak için git commit yaz" der. Ama sana şunları söylemezler:
- "Yanlış branch'e push atarsan o paniği nasıl yönetirsin?"
- "
HEAD detachedolduğunda kodların silindi mi sanıyorsun?" - "Bir
merge conflictgördüğünde bilgisayarı kapatıp kaçmalı mısın?"
Bu rehber, ezberci bir sözlük değildir. Rehberin Türkçe olmasını bir eksi değil de artı olarak görmeni istiyorum. Anadilinde rahatça öğrenirken ingilizce yönünü de unutmayan bir materyal hazırladım. Bu materyali gönül rahatlığıyla kendin/derslerin/öğrencilerin için kullanabilirsin.
Burada sadece komutları değil; bir takımın parçası olmayı, repoyu temiz tutmayı ve tarihi (history) korkusuzca manipüle etmeyi öğreneceksin.
Important
Komutları Ezberleme, Zihniyeti Kavra!
Bu rehberde rebase, cherry-pick, orphan gibi ağır ve tehlikeli komutlar göreceksin. Senden bunları ezberlemeni kesinlikle beklemiyorum. İnterneti açıp bir komutun parametresine bakmak 5 saniyelik bir iştir. Asıl mühendislik yeteneği; internette neyi arayacağını bilmek, Git'in klasörleri nasıl yönettiğini zihninde canlandırabilmek ve o mental modeli kurabilmektir. O yüzden, komutları ezberlemek yerine, Git'in nasıl çalıştığını anlamaya odaklanmanı öneriyorum.
Bu repo, statik bir ders notu değildir. Burası interaktif bir Laboratuvar.
- Lobi (Main Branch): Şu an bulunduğun yer. Burada teoriyi okuyacak, kahveni yudumlayacaksın.
- Görev Odaları (Mission Branches): Her dersin sonunda seni özel bir branch'e davet edeceğim.
- Örnek:
git checkout mission/conflict-101 - O branch'e geçtiğin an, bulunduğun dünya değişecek. Dosyalar bozulacak, tarihler karışacak.
- Örnek:
- Medkit (İlk Yardım): Eğer görevde sıkışırsan, ana merkezden yardım çağırabileceksin.
Terminali açıyoruz, alet çantamızı kuruyoruz ve ilk izimizi bırakıyoruz.
- 1.0 - Kurulum ve Konfigürasyon
- Windows, MacOS ve Linux Kurulumu ve Farkları
- Author Bilgisi (
user.name,user.email)
- 1.1 - Git'in Felsefesi
- Snapshot vs Delta (Git neden farklı?)
- Git'in Düşünce Yapısı
- The Three States (Çalışma, Sahne, Depo)
- 1.2 - İlk Temas
git init: Evreni Yaratmakgit add&git commit: Tarihi Mühürlemek
- 1.3 - .gitignore
- .gitignore Dosyası ile Gereksizleri Görmezden Gelmek
git rm --cached: Takibi Silmek
- 1.4 - Yetenek Ağacım: Bölüm Özeti
- Bu Bölümde Neler Öğrendik?
- Hızlı bir Bakış: Kavramlar Sözlüğü
Tek bir çizgide gitmek zorunda değilsin. Projeni izole alanlara ayırıp güvenle çalışmayı öğren.
- 2.0 - Branch Anatomisi
- Pointer nedir? HEAD nereye bakıyor?
- Branch oluşturma ve geçiş yapma
- 2.1 - Birleştirme Sanatı (Merge)
- Fast-Forward vs 3-Way Merge
- Conflict (Çakışma) Yönetimi ve Çözümü
- 2.2 - Gelişmiş Branch Yönetimi
stash: Yarım kalan işleri güvenle zulalamak.rebase: Tarihçeyi ütüleyip düz bir çizgiye çevirmek.cherry-pick: Başka bir branch'ten nokta atışı commit almak.
- 2.3 - Alternatif Gerçeklikler: Orphan Branch ve Temizlik
orphan: Geçmişi olmayan, bağımsız branch'ler yaratmak.cleanvebranch -d: Çalışma alanının ve reponun bahar temizliği.
- 2.4 - Yetenek Ağacım: Bölüm Özeti
- Bu Bölümde Neler Öğrendik?
- Hızlı Bir Bakış: Kavramlar Sözlüğü
Kodun artık sadece senin bilgisayarında değil. Takım arkadaşlarınla aynı evrende çarpışmadan kod yazmayı öğren.
- 3.0 - GitHub ile Dans
- SSH Key Kurulumu ve Güvenlik
- Remote, Fetch, Pull, Push: Sunucuyla konuşmak
- 3.1 - Ekip Kültürü ve PR
- Pull Request (PR) Açma ve Code Review
- Forking Workflow (Açık kaynak projelere katkı sağlamak)
Hata yaptın. Sorun değil, geçmişi değiştirebiliriz.
- 4.0 - Geri Alma Sanatı
checkout/restore(Eski dosyalara göz atmak ve kurtarmak)revert(Tarihi bozmadan güvenli geri alma)
- 4.1 - Yıkıcı Zaman Yolculuğu
resetkomutunun 3 atlısı: Soft, Mixed, Hardamend: Son commiti (sözü) gizlice değiştirmek
- 4.2 - The Safety Net (Güvenlik Ağı)
reflog: Silinen commitleri ve kayıp evrenleri mezardan çıkarmak (Git'in kara kutusu).
Bir mühendis gibi hata ayıklamak.
- 5.0 - Suçluyu Bulmak
blame: "Bu satırı kim yazdı?"bisect: 1000 commit arasında hatayı binary search ile bulmak.
- Sadece en sık kullanılan komutlar ve Cheat Sheet (15 Dakikada Git)
Terminalini aç, kahveni koy. İlk ders için aşağıdaki bağlantıya tıkla.
👉 Ders 1.0: Kurulum ve Konfigürasyon
| Bölüm | Konu | Durum |
|---|---|---|
| 01 | Genesis | 🟢 Tamamlandı |
| 02 | Multiverse | 🟢 Tamamlandı |
| 03 | Remote & İşbirliği | 🟡 Yapım Aşamasında |
| 04 | Time Travel | 🔴 Beklemede |
| 05 | Detective | 🔴 Beklemede |
| Bonus | Everyday Git | 🔴 Beklemede |
-
2005 yılında Git'i yaratarak yazılım dünyasındaki "zaman yolculuğunu" mümkün kıldığı ve biz mühendislere bu muazzam oyun alanını bıraktığı için.
-
Projenin monotonluğunu gidermek, eksik tespitinde ve doldurmada yardımcı olmak, Markdown estetiğini güçlendirmek, dil bilgisi hatalarını ayıklamak ve "Interactive Learning" konseptinde mentorluk sağlamak için kullanılmıştır.
-
Her komutun derinliklerine inmek ve doğru bilgiyi sağlamak için başvurulan birincil kaynak.
-
Kavramsal açıklamalar, tarihsel perspektif ve meraklısına bilgiler sunan birincil kaynak olduğu için.