WordPress, yazılım ve IT üzerine notlar
Anasayfa » Yazılım » Git'e yeni başlayanlar için günlük iş akışı: 12 komutla yıllarca idare edin

Git'e yeni başlayanlar için günlük iş akışı: 12 komutla yıllarca idare edin

İçindekiler
  1. Üç alan
  2. Günlük akış
  3. Hata yaptığınızda
  4. Yarım işi kenara koymak
  5. .gitignore'u ilk gün yazın
  6. Kısa özet

Git ilk öğrenildiğinde korkutucu gelir. Bunun sebebi komutların çokluğu değil, arka plandaki modelin bir kez bile anlatılmamasıdır. O yüzden önce modeli, sonra komutları anlatacağım.

Üç alan

Git'te bir dosya değişikliği üç yerden geçer:

  1. Çalışma dizini: Dosyaları düzenlediğiniz yer.
  2. Hazırlık alanı (staging, index): "Bir sonraki commit'e şunlar girecek" dediğiniz ara bölge.
  3. Depo (repository): Commit edilmiş, kalıcı geçmiş.

git add bir değişikliği 1'den 2'ye, git commit ise 2'den 3'e taşır. Bu modeli kafanıza yerleştirdiğinizde komutların çoğu kendiliğinden anlam kazanır.

Günlük akış

Güne başlarken

git switch main
git pull --rebase
git switch -c ozellik/fatura-pdf

Ana dalı güncelleyin, sonra yaptığınız işe özel yeni bir dal açın. Doğrudan main üzerinde çalışmayın. Bir şey ters giderse dalı silip baştan başlamak, main'i düzeltmeye çalışmaktan çok daha kolaydır.

Çalışırken

git status
git diff
git add -p
git commit -m "Fatura PDF'ine vergi numarası eklendi"

git add -p en az bilinen ama en değerli komuttur. Değişiklikleri parça parça gösterir ve her biri için "bu commit'e girsin mi?" diye sorar. Böylece unutulmuş bir var_dump ya da deneme satırı commit'e sızmaz.

İyi commit mesajı neyi değil, neden değiştirdiğinizi söyler. "Düzeltme" yerine "Boş sepette ödeme butonu gizlendi" yazın. Altı ay sonra geçmişi okuyan kişi büyük ihtimalle siz olacaksınız.

Paylaşırken

git fetch origin
git rebase origin/main
git push -u origin ozellik/fatura-pdf

Push etmeden önce dalınızı güncel main'in üstüne taşımak, birleştirme sırasında çıkacak çakışmaları sizin makinenizde çözmenizi sağlar.

Hata yaptığınızda

Son commit mesajını düzeltmek (henüz push etmediyseniz):

git commit --amend -m "Doğru mesaj"

Bir dosyadaki kaydedilmemiş değişikliği çöpe atmak:

git restore dosya.php

Hazırlık alanına yanlışlıkla eklediğiniz dosyayı geri çıkarmak:

git restore --staged dosya.php

Push edilmiş bir commit'i geri almak:

git revert a1b2c3d

revert geçmişi silmez; o commit'i tersine çeviren yeni bir commit oluşturur. Paylaşılmış dallarda tek güvenli yol budur. git reset --hard ve push --force paylaşılmış bir dalda başkalarının çalışmasını silebilir.

"Her şeyi kaybettim" paniği:

git reflog

Reflog, HEAD'in son zamanlarda gittiği her yeri kaydeder. Yanlışlıkla silinen bir dal ya da geri alınan bir commit, çoğu zaman buradan kurtarılabilir. Git'te bir şeyi gerçekten kaybetmek sanıldığından çok daha zordur.

Yarım işi kenara koymak

Acil bir hatayı düzeltmeniz gerekti ama elinizde bitmemiş bir iş var:

git stash push -m "yarım kalan rapor ekranı"
git switch main
# ... acil düzeltme ...
git switch ozellik/rapor
git stash pop

.gitignore'u ilk gün yazın

vendor/, node_modules/, .env, log dosyaları ve IDE ayarları depoya girmemeli. Özellikle .env: şifreleri bir kez commit ettiyseniz, sonradan silmeniz yeterli değildir; geçmişte durmaya devam eder. O şifreleri değiştirmeniz gerekir.

Kısa özet

Gündelik işin büyük kısmı şu komutlarla döner: status, diff, add -p, commit, switch, pull --rebase, fetch, rebase, push, restore, revert, stash ve acil durumlar için reflog. Gerisini ihtiyaç duydukça öğrenirsiniz.

Tezcan Kabakçı
Hosting teknik destek uzmanı ve WordPress uzmanı. 2024'ten beri bir hosting şirketinde teknik destek bölümünde çalışıyor; WordPress, DNS ve e-posta sorunlarını her gün yakından görüyor. YouTube kanalı.
Bu yazı 12 Ekim 2026 tarihinde Yazılım kategorisinde yayınlandı.
Yeni yazılar e-postanıza gelsin

Ayda birkaç e-posta; istediğiniz an tek tıkla ayrılabilirsiniz.

Videolu anlatımlar YouTube'da
Sunucu ve WordPress sorunlarını kısa videolarla anlattığım kanala abone olabilirsiniz. ▶ Kanala abone ol

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorumlar onaylandıktan sonra yayımlanır. Bağlantı içeren yorumlar spam olarak değerlendirilebilir.