Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Git Hook'ları ve Commit İmzalama: pre-commit'ten SSH İmzasına
pre-commit ve commit-msg hook'larını gerçek çıktılarla yazıyor, core.hooksPath ile ekiple paylaşıyor, Git 2.54'ün config tabanlı hook'larını ve git hook list'i deniyoruz. Ardından commit'leri SSH anahtarıyla imzalıyor, allowed signers ile doğruluyor ve GitHub'daki Verified rozetinin şartlarını görüyoruz.
Git 2.23–2.39: checkout'tan switch ve restore'a, Eski Alışkanlıktan Yenisine
Git 2.23–2.39 arasında gelenleri eskiyle yeniyi yan yana koyarak görüyoruz: checkout'tan switch ve restore'a geçiş, init.defaultBranch, pull'un divergent branches hatası, sparse-checkout, maintenance, fsmonitor, ort ve remerge-diff, rebase --update-refs, force-if-includes, safe.directory ve SSH imzalama.
Git 2.40–2.49: reftable, SHA-256, git replay ve Yeni git config
Git 3.0'ın temellerinin atıldığı 2.40–2.49 dönemini gerçek çıktılarla görüyoruz: reftable ref deposu ve git refs migrate, SHA-256 repo'larının bugünkü durumu, git config'in get/set/unset/list alt komutları, worktree add --orphan, git replay, safe.directory prefix'i, git backfill ve Rust'ın ilk adımı.
Git 2.50–2.56: git history, Config Tabanlı Hook'lar ve git add --resolved
Git 2.50'den güncel 2.56'ya gelenleri görüyoruz: git history reword ve split (2.55 fixup, 2.56 drop), config tabanlı ve paralel hook'lar, stash export/import, pull.autostash ve conflict durumu, git last-modified, git repo info, reflog drop, branch --delete-merged, add --resolved ve -h çıkış kodu değişikliği.
Git 3.0'a Hazırlık: Ne Değişiyor, Ne Kalkıyor, Bugünden Ne Yapmalı
Git 3.0 için resmi durumu (BreakingChanges.adoc: henüz tarih yok) GitLab ve LWN'in aktardığı plandan ayırıyoruz. main, SHA-256 ve reftable varsayılanlarını, safe.bareRepository'yi, zorunlu Rust'ı, kaldırılacak komutları ve git checkout'un neden kaldığını Git 2.54'te deneyip bir hazırlık listesi çıkarıyoruz.