VERSION CONTROL SİSTEMLERİ VE GIT VERSİYONLAMA EĞİTİMİ

Versiyonlamayı doğru kurun

Merkezi ve dağıtık sürüm kontrol sistemleri, Git komutları, SemVer etiketleme, SVN'den geçiş ve hook ile versiyonlama düzeni kurun

Sürüm kontrol sistemlerinin türlerini, Git ile SemVer etiketlemeyi, SVN'den geçişi ve hook ile versiyonlama düzenini uygulamalı öğrenin.

3 gün Temel Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Sürüm kontrol sistemleri ve Git ile versiyonlama disiplini

Eğitim, sürüm kontrol sistemlerinin türlerini ve Git'in neden baskın hale geldiğini açıklar. Çalışma dizini, staging ve commit akışı, geri alma, dal ve birleştirme, uzak depo, Semantic Versioning ve annotated etiketler, git describe ile build numarası, SVN'den Git'e git svn ile geçiş, rebase, hook'lar ve grafik araçlar uygulamalı işlenir. Amaç, ekipte tutarlı bir versiyonlama düzeni oluşturmaktır.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün Temel Git ve Sürüm Kontrol Kavramları; 2. gün Dal, Uzak Depo ve Versiyonlama; 3. gün Tarihçe, Strateji ve Araçlar.

Seviye

Temel Seviye — Sürüm kontrol sistemlerinin türleri, Git komutları, etiketleme, SVN geçişi ve ekip pratiklerini kapsayan yelpaze

Öğrenme Metodu

Katılımcılar örnek bir projede SemVer etiketleri üretir, git describe ile sürüm bilgisi gömer, SVN deposunu Git'e dönüştürür ve hook ile commit kuralı zorunlu kılar.

Neden Bu Eğitim?

🧭Sıfırdan Güven

Komutların arkasındaki mantığı öğrenir, hatadan korkmadan commit, dal ve birleştirme yaparsınız.

🛟Geri Dönüş Güvencesi

reset, revert ve reflog ile yanlış bir komutun sonucunu kontrollü şekilde geri alırsınız.

🤝Ekiple Uyum

Uzak depo, dal ve pull request akışına hazır olarak ekip projelerine ilk günden katkı verirsiniz.

Anahtar Konular

version control sistemlerigit versiyonlamasemantic versioningsvn git geçişgit svngit etiketlemegit describemerkezi sürüm kontrolgit hooksversiyon yönetimi
“Doğru versiyonlanmış bir ürün, güven verir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Bilgisayar Kullanımı

Dosya, klasör ve terminal açma gibi temel bilgisayar becerileri yeterlidir.

2
Kurulu Git

Eğitim öncesinde Git ve bir metin editörü (ör. VS Code) kurulu bir bilgisayar gerekir.

3
Terminal Aşinalığı

cd, ls ve mkdir gibi temel komutları görmüş olmak faydalı olur.

4
Uzak Depo Hesabı

Uygulamalar için ücretsiz bir GitHub veya GitLab hesabı hazır bulunmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı gün sonunda Merkezi ve dağıtık sistemleri ayırt eder, kurulumu yapar ve commit akışını yönetir.
Modül 1
Sürüm Kontrol Kavramları ve Git Mimarisi
  • Merkezi (SVN, CVS) ve dağıtık (Git, Mercurial) sürüm kontrol sistemlerinin çalışma farkları
  • Çalışma dizini, staging area (index) ve yerel depo üçlüsü; dosyanın untracked, modified, staged, committed durumları
  • Snapshot tabanlı veri modeli ve SHA-1 ile içerik adresleme; commit kimliğinin nasıl oluştuğu
  • HEAD, dal ve etiketlerin yalnızca commit'e işaret eden hafif referanslar olduğu gerçeği
  • Sürüm kontrolünün ekip içindeki yeri: değişiklik izlenebilirliği, denetim izi ve geri dönüş güvencesi
  • Git'in internet olmadan çalışabilmesi ve yerel depoda tam tarihçenin bulunmasının günlük işe etkisi
Modül 2
Kurulum ve Yapılandırma
  • Windows, Linux ve macOS üzerinde Git kurulumu; Git Bash ve terminal kullanımı
  • git config ile --system, --global ve --local seviyelerinde user.name, user.email ve core.editor ayarları
  • core.autocrlf ve .gitattributes ile satır sonu (LF/CRLF) farklarının yönetimi
  • ssh-keygen ile ed25519 anahtarı üretimi, ssh-agent ve uzak sunucuya genel anahtar tanımlama
  • Credential Manager ve credential.helper ile parolasız HTTPS erişimi, kişisel erişim token'ı kullanımı
  • git config alias ile kısayol komutları (st, lg, co) ve renkli log çıktısı için özel format
Modül 3
Temel Git Komutları ve Commit Akışı
  • git init ve git clone ile depo oluşturma, .git dizininin içeriği
  • git status, git add -p ve git commit -m ile parça parça (hunk) seçerek commit hazırlama
  • git diff, git diff --staged ve git diff HEAD~1 ile değişikliklerin karşılaştırılması
  • git log --oneline --graph --decorate, --author ve -S ile tarihçede arama
  • .gitignore desenleri, global ignore dosyası ve zaten izlenen dosyayı git rm --cached ile çıkarma
  • Anlamlı commit mesajı yazımı: konu satırı sınırı, gövde, Conventional Commits formatı
Modül 4
Değişiklikleri Geri Alma ve Kurtarma
  • git restore ve git restore --staged ile çalışma dizini ve staging değişikliklerini geri alma
  • git reset --soft, --mixed ve --hard arasındaki farklar ve hangi alanı etkiledikleri
  • git commit --amend ile son commit'in mesajını ve içeriğini düzeltme
  • git revert ile paylaşılmış tarihçeyi bozmadan ters commit üretme, merge commit revert (-m 1)
  • git reflog ile kaybolan commit ve silinen dalların kurtarılması
  • git stash push -u, stash list, stash pop ve apply ile yarım işi park etme; git clean -fd uyarıları
Günün hedefiKatılımcı gün sonunda Dalları ve uzak depoyu yönetir, SemVer etiketleme uygular ve SVN'den Git'e geçiş planlar.
Modül 1
Dallanma ve Birleştirme
  • git branch, git switch -c ve git checkout farkları; dal oluşturmanın neden ucuz olduğu
  • Fast-forward ve üç yönlü (recursive/ort) birleştirme; --no-ff ile birleştirme commit'i zorlama
  • Çakışma işaretleri (<<<<<<<, =======, >>>>>>>) ve elle çözüm, git merge --abort
  • git mergetool, VS Code birleştirme editörü ve diff3 çakışma stili (merge.conflictstyle)
  • git branch --merged, -d ve -D ile birleşmiş dalların temizliği
  • Uzun ömürlü dal ile kısa ömürlü konu dalı (topic branch) arasındaki pratik farklar
Modül 2
Uzak Depolar ve Senkronizasyon
  • git remote add/-v, origin ve upstream adlandırma kuralları
  • git fetch ile git pull farkı; pull --rebase ve pull.rebase yapılandırması
  • git push -u, upstream tracking ve git branch -vv çıktısının okunması
  • git push --force-with-lease ile güvenli zorla gönderim ve neden --force'tan üstün olduğu
  • git remote prune ve fetch --prune ile uzakta silinmiş dalların yerelden temizlenmesi
  • Birden fazla uzak depo kullanımı: fork akışında upstream senkronizasyonu ve mirror push
Modül 3
Etiketleme ve Sürüm Yönetimi
  • Lightweight ve annotated etiket farkı; git tag -a -m ve git push --tags
  • Semantic Versioning (MAJOR.MINOR.PATCH) kuralları ve ön sürüm etiketleri (-rc.1, -beta)
  • git describe ile commit'ten en yakın etiketi bulma ve build numarası üretme
  • GPG veya SSH imzalı commit/etiket (git tag -s, commit.gpgsign) ve doğrulama
  • Conventional Commits'ten otomatik CHANGELOG üretimi (standard-version, semantic-release)
  • Yanlış etiketi silme ve yeniden oluşturma (git tag -d, git push --delete) ile ekibe etkisi
Modül 4
SVN'den Git'e Geçiş ve Eski Sistemler
  • SVN'de trunk/branches/tags düzeni ve Git karşılığı; merkezi kilitleme modelinin farkları
  • git svn clone ve --stdlayout ile tarihçeyi koruyarak taşıma, yazar eşleme dosyası (authors.txt)
  • Geçişte büyük dosya, binary ve ayrılmış dallar için temizlik stratejisi
  • Geçiş dönemi çalışma düzeni: salt-okunur SVN, ekip eğitimi ve kesme (cutover) planı
  • Mercurial ve TFVC gibi diğer sistemlerden dönüştürme araçlarına genel bakış
  • Geçiş sonrası doğrulama: commit sayısı, etiketler, dal eşlemesi ve karşılaştırma betikleri
Günün hedefiKatılımcı gün sonunda Rebase ile tarihçeyi düzenler, dallanma stratejisini seçer, hook ve grafik araçlarla düzeni sürdürülebilir kılar.
Modül 1
Rebase ve Tarihçe Düzenleme
  • git rebase main ile dalı güncel tabana taşıma ve merge ile görsel tarihçe farkı
  • git rebase -i ile pick, reword, edit, squash, fixup ve drop komutları
  • git commit --fixup ve rebase --autosquash ile düzeltme commit'lerinin otomatik birleştirilmesi
  • git cherry-pick ile tek commit taşıma, aralık (A..B) ve -x seçeneği
  • Rebase sırasında çakışma: rebase --continue, --skip, --abort; rerere ile çözümlerin hatırlanması
  • Altın kural: paylaşılmış dalda rebase yapmama ve yeniden yazılmış tarihçenin ekibe etkisi
Modül 2
Dallanma Stratejileri: Git Flow, GitHub Flow, Trunk-Based
  • Git Flow modeli: main, develop, feature, release ve hotfix dallarının rolleri ve ömürleri
  • GitHub Flow: tek ana dal, kısa ömürlü dal ve pull request ile sürekli dağıtım
  • Trunk-based development: küçük commit'ler, günlük entegrasyon ve feature flag kullanımı
  • Release dalı yönetimi, sürüm bakım dalları (release/1.x) ve hotfix'in ana dallara geri aktarımı
  • Takım büyüklüğü, dağıtım sıklığı ve ürün tipine göre strateji seçim kriterleri
  • Dal isimlendirme standartları (feature/, bugfix/, release/) ve dal koruma kurallarıyla zorunlu kılma
Modül 3
Git Hooks ve Otomatik Kalite Kontrolleri
  • client-side hook'lar: pre-commit, prepare-commit-msg, commit-msg, pre-push
  • .git/hooks dizini ve core.hooksPath ile hook'ların depoyla paylaşılması
  • pre-commit framework: .pre-commit-config.yaml, black, flake8, eslint ve trailing-whitespace kontrolleri
  • Husky ve lint-staged ile Node.js projelerinde commit öncesi lint ve test
  • commit-msg hook ile Conventional Commits doğrulaması (commitlint)
  • Sunucu tarafı hook'lar (pre-receive, update, post-receive) ve --no-verify kullanımının riskleri
Modül 4
Git Arayüzleri ve IDE Entegrasyonu
  • VS Code Source Control paneli, GitLens ve satır bazlı blame bilgisi
  • IntelliJ IDEA / PyCharm Git penceresi: shelf, local history ve interaktif rebase
  • Sourcetree ve GitKraken ile grafik tarihçe, sürükle-bırak birleştirme ve karşılaştırma
  • Visual Studio Team Explorer / Git Changes penceresi ve Azure DevOps Repos bağlantısı
  • GitHub Desktop ile temel akış ve komut satırıyla eşdeğer komutlar
  • gh ve glab CLI ile terminalden PR/MR oluşturma, issue listeleme ve CI durumu izleme

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Git Mimarisi

Git'in snapshot modelini ve üç alanlı çalışma düzenini açıklayabilirsiniz.

🎯
Ortam Kurulumu

Git'i kendi makinenizde kimlik, anahtar ve alias ayarlarıyla eksiksiz yapılandırırsınız.

🔧
Güvenli Geri Alma

Hatalı commit ve silinen dalları reflog ile güvenle geri getirirsiniz.

🧩
Dallanma ve Merge

Dalları açıp birleştirir, çakışmaları kontrollü biçimde çözersiniz.

📦
Sürüm Etiketleme

SemVer etiketleri ve imzalı sürümlerle izlenebilir sürüm yayını yaparsınız.

🚀
Git'e Geçiş

Merkezi bir sürüm kontrol sisteminden Git'e tarihçeyi koruyarak geçiş planlarsınız.

🔒
Strateji Seçimi

Takımınıza uygun dallanma stratejisini seçip uygulayabilirsiniz.

📊
Hook Otomasyonu

Commit ve push öncesi otomatik lint, test ve mesaj denetimi kurarsınız.

Kimler İçin Uygundur?

  • Yazılım ekipleri
  • sürüm yöneticileri
  • SVN gibi merkezi sistemlerden Git'e geçecek kurumlar
  • versiyonlama düzenini oturtmak isteyen teknik kadrolar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yazılım ekipleri, sürüm yöneticileri, SVN gibi merkezi sistemlerden Git'e geçecek kurumlar ve versiyonlama düzenini oturtmak isteyen teknik kadrolar için uygundur.
SVN kullanıyoruz, geçişi öğrenir miyim?
Evet. git svn ile tarihçeyi koruyarak taşıma, authors.txt eşleme ve cutover planı uygulanır.
SemVer nasıl uygulanıyor?
MAJOR.MINOR.PATCH kuralları, ön sürüm etiketleri ve Conventional Commits ile otomatik değişiklik günlüğü gösterilir.
Yalnızca Git mi anlatılıyor?
Git ağırlıklıdır; SVN, Mercurial ve TFVC ile kavramsal karşılaştırma yapılır.
Eğitim sonunda hangi belge verilir?
Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Version Control Sistemleri ve GIT Versiyonlama Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeTemel Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Sürüm Kontrolü ve İşbirliğiGitHub İleri Düzey – İleri GitHub Geliştirme ve İşbirliği Eğitimi
Yazılım Geliştirme Eğitimleri

GitHub İleri Düzey – İleri GitHub Geliştirme ve İşbirliği Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

İleri GitHub eğitimi: rebase, bisect, reusable workflow, ARC, OIDC, CodeQL, artifact attestations, Terraform ve GitOps ile ileri düzey geliştirme ve işbirliği.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiGitHub Yönetimi Temelleri Eğitimi
Yazılım Geliştirme Eğitimleri

GitHub Yönetimi Temelleri Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

GitHub yönetimi temelleri: organizasyon, takım ve roller, branch protection, CODEOWNERS, Dependabot, secret scanning, token politikası ve faturalama yönetimi.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiGitlab ve Gitlab CI Eğitimi
Yazılım Geliştirme Eğitimleri

Gitlab ve Gitlab CI Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

GitLab ve GitLab CI eğitimi: merge request, protected branch, .gitlab-ci.yml, runner, artifact, cache, registry, review app ve güvenlik taramaları uygulamalı.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiIntroducing GIT Eğitimi
Yazılım Geliştirme Eğitimleri

Introducing GIT Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Introducing Git: sürüm kontrol kavramları, commit akışı, dallanma, merge, geri alma ve GitHub'a push adımlarını başlangıç seviyesinde uygulamalı öğrenin.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiIntroduction to Git Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to Git Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Introduction to Git: snapshot veri modeli, add/commit, branch/merge, geri alma, etiket, uzak depo ve grafik araçlarla Git'i başlangıç seviyesinde öğrenin.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn