Yol haritası

Git nasıl öğrenilir: çalışma planı, alıştırma araçları, dokümantasyon ve pratik

Güncellendi: · Skillaria.Top

Git öğrenimi dört aşamada planlanmalıdır: temel döngü (init, add, commit, log), branch'ler ve birleştirme, uzak depolar ve ekip çalışması, ardından hataları geri alma ve ileri araçlar. Düzenli pratikle, kendi deponuzda genellikle 2–4 haftada rahat bir çalışma düzeyine ulaşılır.

Git, okuyarak değil, elle yaparak öğrenilir. Ekipte rahat çalışmak için yaklaşık yirmi komutu öğrenmek ve üç fikri kavramak yeterlidir: commit bir proje anlık görüntüsüdür, branch bir commit'e işaretçidir, uzak depo ise geçmişin başka bir kopyasıdır. Aşağıda, alıştırmaları, ücretsiz kaynakları ve hangi aşamanın tamamlandığını gösteren ölçütleri içeren bir öğrenme planı var.

Plan, terminali en azından cd ve ls düzeyinde kullanabilen bir yeni başlayan için hazırlanmıştır. Kullanamıyorsanız, Git öğrenmeden önce bir akşamınızı komut satırı temellerine ayırın: onsuz Git öğrenmek belirgin biçimde zorlaşır.

Git neden sistemli öğrenilmeli

Birçok kişi, bir talimattan kopyalanan beş komutla yıllarca idare eder ve ilk çakışmada ya da «detached HEAD» uyarısında paniğe kapılır. Sebep neredeyse her zaman aynıdır: zihinsel bir model yoktur. Kişi, komutun geçmişte ve dosyalarda tam olarak ne değiştirdiğini bilmez.

Sistemli öğrenmek hızlı bir şekilde karşılığını verir. Deneme yapmaktan korkmazsınız, çünkü nasıl geri döneceğinizi bilirsiniz; çakışmaları sakince çözersiniz; inceleyenlerin ve işverenlerin göreceği düzenli bir geçmiş tutarsınız. Git, frontend'den DevOps'a ve veri analizine kadar neredeyse her bilişim mesleğinde mülakatlarda sorulur.

1. aşama. Temeller: repository, index, commit

İlk aşamanın hedefi temel döngüyü ve Git'in üç alanını anlamaktır: çalışma dizini, index ve repository. Bu aşama 2–4 gün, günde bir saat sürer.

  • Kurulum ve ilk ayarlar: git config --global user.name, user.email, varsayılan branch main.
  • Repository oluşturma: git init.
  • Döngü: git status → git add → git commit; seçerek ekleme için git add -p.
  • Geçmişe bakma: git log --oneline, git diff, git diff --staged, git show.
  • .gitignore dosyası: depoya neyin girmemesi gerektiği.

Alıştırma. Kendi notlarınız ya da küçük bir betik için bir repository açın. Her biri tek bir mantıksal değişiklik ve anlaşılır bir mesajla 15–20 commit yapın. Her komuttan sonra git status çalıştırın ve neyin değiştiğini kendinize açıklayın.

Aşama tamamlandı sayılır, eğer ipucu almadan git diff çıktısının git diff --staged çıktısından nasıl farklı olduğunu söyleyebiliyor ve değiştirilmiş dosyaların yalnızca bir kısmını commit edebiliyorsanız.

2. aşama. Branch'ler ve birleştirme

Branch'ler Git'in kalbidir ve yeni başlayanların en büyük korku kaynağıdır. Burada önemli olan komutları ezberlemek değil, commit grafiğini zihninizde canlandırabilmektir. Bu aşamaya yaklaşık bir hafta ayırın.

  • Oluşturma ve geçiş: git branch, git switch, git switch -c.
  • HEAD nedir ve detached HEAD durumu.
  • Birleştirme: git merge, fast-forward ile merge commit'i ve --no-ff bayrağı.
  • Çakışmalar: <<<<<<< ve >>>>>>> işaretleri, git merge --abort.
  • Görselleştirme: git log --oneline --graph --all.

Alıştırma. main'den iki branch açın ve her birinde aynı dosyanın aynı satırını değiştirin. Sırayla birleştirin, çakışma alın ve çözün. Süreç sıkıcı gelene kadar tekrarlayın.

Bu aşamada en çok yardımcı olan şey, aşağıda anlatılacak etkileşimli bir Git alıştırma aracıdır. Her komuttan sonra grafiği gösterir ve sezgiyi hızla oluşturur.

3. aşama. Uzak depolar ve ekip çalışması

Hedef, sunucuyla ekiplerin yaptığı gibi çalışmayı öğrenmektir. GitHub, GitLab ya da başka bir Git barındırma servisinde hesabınız olmalıdır. Süre yaklaşık bir hafta.

  • Bağlama ve klonlama: git remote add, git clone, SSH anahtarıyla giriş.
  • Eşitleme: git push, git push -u, git fetch, git pull ve aralarındaki fark.
  • origin/main gibi uzak izleme branch'leri.
  • Fork'lar, özellik branch'leri ve kod incelemeli pull request'ler.
  • Ekip süreçleri: GitHub Flow, Git Flow, trunk-based development.

Alıştırma. Aynı repository'yi iki «bilgisayardan» çalışın: iki ayrı klasöre klonlayın. Birinde commit yapıp push edin, diğerinde çekin. Sunucu ilerlediği için push'un reddedildiği bir durum yaratın ve nedenini anlayın.

git clone git@github.com:you/sandbox.git kopya-a
git clone git@github.com:you/sandbox.git kopya-b
cd kopya-a && echo "A'dan" >> notlar.txt && git commit -am "A'dan düzeltme" && git push
cd ../kopya-b && echo "B'den" >> notlar.txt && git commit -am "B'den düzeltme"
git push          # reddedildi: sunucu ilerledi
git pull          # A'nın düzeltmesini alırsınız, notlar.txt'te çakışmayı çözersiniz
git push

Bu kısa senaryo, ekipte en sık karşılaşılan durumu modeller. Her komutun çıktısını inceleyin: push neden reddedildi, fetch sonrası origin/main'de ne belirdi, merge commit'i nereden geldi? Sonra aynısını git pull --rebase ile tekrarlayın ve git log --oneline --graph --all ile iki grafiği karşılaştırın.

Daha da iyisi, bir arkadaş bulup küçük bir projeyi pull request üzerinden birlikte yapmanızdır: inceleme, çakışmalar ve branch kurallarında anlaşma böyle öğrenilir.

4. aşama. Hataları geri alma

Bu aşama Git'i bir kaygı kaynağından bir güvenlik ağına çevirir. 3–5 gün.

  • git restore ve git restore --staged — dosyada ve index'te geri alma.
  • git commit --amend — son commit'i düzeltme.
  • git reset ile --soft, --mixed, --hard modları.
  • git revert — yayımlanmış bir commit'i güvenle geri alma.
  • git reflog — «kaybolmuş» commit'leri geri getirme.

Alıştırma. Birkaç commit yapın, git reset --hard HEAD~3 çalıştırın ve reflog ile commit'leri geri getirin. Ortak bir branch'te bir commit'i revert ile geri alın ve geçmişte nasıl göründüğüne bakın.

5. aşama. İleri araçlar

Bunlar ihtiyaç duydukça öğrenilir, ama varlıklarını önceden bilmek iyidir.

AraçNe zaman gerekir
git rebase ve git rebase -iDoğrusal geçmiş, pull request öncesi commit temizliği
git stashYarım işi commit etmeden acilen branch değiştirmek
git cherry-pickTek bir commit'i taşımak, örneğin hotfix
git tagSürümleri işaretlemek
git bisectKodu bozan commit'i bulmak
git worktree, git submoduleBirden çok çalışma kopyası; iç içe repository'ler

Git alıştırma araçları: nerede pratik yapılır

Alıştırma aracının faydası, güvenli bir deneme ortamı sunup sonucu hemen göstermesidir. Birkaç ücretsiz seçenek:

  • Learn Git Branching (learngitbranching.js.org) — branch konusunda en iyi alıştırma araçlarından biri. Görevli seviyeler, canlandırılmış commit grafiği. commit, branch, merge, rebase, cherry-pick, etkileşimli rebase ve uzak depo konularını kapsar. Arayüzünde dil seçenekleri bulunabilir; kontrol edin.
  • Oh My Git! — Git komutlarının kart olarak gösterildiği, açık kaynaklı ücretsiz bir oyun. Altta gerçek bir Git çalışır.
  • Kendi deneme repository'niz — en az değer verilen alıştırma aracı. Bir git-sandbox klasörü açın ve içinde her şeyi bozun: kaybedecek bir şey yoktur.

Alıştırma araçları grafik anlayışını çok iyi geliştirir, ama gerçek bir projenin yerini tutmaz: gerçek dosyalar, editör, kod içi çakışmalar ve IDE yoktur. Bunları tamamlayıcı olarak kullanın.

Git dokümantasyonu ve kitaplar

Resmi Git dokümantasyonu git-scm.com'dadır. Aynı sitede, Scott Chacon ve Ben Straub'un Pro Git kitabı ücretsiz okunabilir; kitabın çevirileri için sitedeki dil listesine bakabilirsiniz. Bu, Git'in en iyi kitaplarından biridir: ilk üç bölüm (temeller ve dallanma) zorunludur, «Git'in iç yapısı» bölümü ise veri modelini tam olarak kavramak isteyenler içindir.

Yerleşik yardım her zaman elinizin altında: git help <komut> tam kılavuzu açar, git <komut> -h ise bayrakların kısa listesini verir. Git dokümantasyonu kuru ama kesin yazılmıştır; ilk arama sonucu yerine ona bakmaya alışın.

git help rebase        # tam kılavuz
git switch -h          # bayrakların kısa özeti
git help -g            # kavramsal kılavuzların listesi (gitworkflows, gittutorial…)

Git'in standart kurulumuyla gelen gittutorial ve giteveryday kılavuzları da yararlıdır; git help ile açılırlar.

Kendi başına mı, kursta mı

Git'i kendi başınıza öğrenmek gerçekten mümkündür: kitap, alıştırma aracı ve deneme repository'si gerekli her şeyi verir. Zorluk başka yerdedir: yapı olmadan teoride takılı kalmak ya da tersine, anlamadan komut toplamak kolaydır; geri bildirim olmadığı için geçmişinizi düzensiz tuttuğunuzu kimse söylemez.

Bir Git kursu, yolu hızlı ve sırasıyla geçmek istiyorsanız işe yarar: ilk commit'ten gerçek bir repository'de pull request'e kadar, her adımda görevlerle. Kurs seçerken süreye değil, pratik oranına bakın: çakışma, hataları geri alma, ekip çalışması ve bir final projesi içeren görevler var mı?

Öğrenmek ne kadar sürer

DüzeyNeler yapabilirsinizGünde 1 saatle süre
TemelCommit, geçmiş, .gitignore3–5 gün
ÇalışırBranch'ler, çakışmalar, push/pull, pull request2–3 hafta
RahatHataları geri alma, rebase, reflog, ekip workflow'u1–2 ay gerçek pratikle

Bu süreler yaklaşıktır: asıl belirleyici olan düzenlilik. Her gün bir saat, aylık maraton hafta sonlarından daha fazla şey öğretir.

Git öğrenirken sık yapılan hatalar

  • Yalnızca grafik arayüzle öğrenmek. Grafik istemciler kullanışlıdır ama modeli gizler. Önce komut satırını anlayın, sonra uygun aracı seçin.
  • Bayrakları ezberlemek. Ezberlenmesi gereken fikirlerdir; bayraklar her zaman -h ile bulunur.
  • Bozmaktan korkmak. reset --hard yapıp reflog ile geri dönmediğiniz sürece Git'in sizi koruduğunu bilmezsiniz.
  • Uzak depoları atlamak. push, pull ve pull request olmadan yerel Git, becerinin yarısıdır.
  • «fix» ve «update» gibi commit mesajları. Anlamlı mesaj yazma alışkanlığı en başta edinilmelidir.

Pekiştirmek için final projesi

En iyi sınav, ekip geliştirmesinin bir simülasyonudur. Bir repository oluşturun, main branch'ini doğrudan push'a karşı koruyun, bir arkadaş davet edin ya da iki hesapla çalışın. Her görev ayrı bir özellik branch'i ve kod incelemeli bir pull request olsun; en az bir kez çakışma yaratıp çözün, en az bir kez hatalı commit'i revert ile geri alın ve bir sürümü etiketle işaretleyin.

Böyle bir projeden sonra Git bir büyü formülleri listesi olmaktan çıkar. Grafiği görürsünüz, komutların sonuçlarını bilirsiniz ve mülakat sorularına hazırsınızdır.

Kısaca

Git'i etkili öğrenmek sırayla gider: temel döngü, branch'ler, sunucuyla çalışma, hataları geri alma ve ardından ileri araçlar. Alıştırma aracı grafiği gösterir, Pro Git ve resmi dokümantasyon derinlik verir, kendi deneme repository'niz ve ekip projesi bilgiyi beceriye çevirir. Bu yol, git init'ten final projesindeki pull request'e kadar, Skillaria'daki Git kursunda uygulamalı olarak izlenmektedir.

Sık sorulan sorular

Git'i bir günde öğrenebilir miyim?

Bir günde temel döngüyü öğrenebilirsiniz: init, add, commit, log ve push. Branch'ler, çakışmalar ve hataları geri almada rahat olmak birkaç hafta pratik gerektirir.

Git öğrenmek için programlama bilmek gerekir mi?

Hayır. Git her türlü metin dosyasıyla çalışır; notlarınız ya da belgelerinizle de öğrenebilirsiniz. Yalnızca terminalde temel çalışma becerisi gerekir.

Git dokümantasyonu Türkçe var mı?

Resmi komut başvurusu git-scm.com'da İngilizce'dir. Pro Git kitabının çevirileri için sitedeki dil listesine bakabilirsiniz; Learn Git Branching gibi alıştırma araçlarının da dil seçenekleri olabilir.

Git'ten sonra ne öğrenmeliyim?

Doğal devam CI/CD (GitHub Actions, GitLab CI), kod incelemesi ve ekip süreçleridir. DevOps için ise Git'te tutulan altyapı kodu (infrastructure as code) gelir.

Bu konuyu videoyla öğrenin

Bu konu “Sıfırdan Güvenilir Geliştiriciye Git” kursunda uygulamalı olarak ayrıntılı işleniyor.

Kursa git