İLERİ SEVİYE GIT & GITLAB EĞİTİMİ

İleri Git ve GitLab'ı birlikte öğrenin

Rebase, bisect, submodule, hook, GitLab CI/CD, registry, güvenlik taramaları ve self-managed yönetimiyle ileri seviye çalışın

Git nesne modeli, rebase, bisect, GitLab CI/CD, registry, güvenlik taramaları ve self-managed GitLab yönetimini ileri düzeyde öğrenin.

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

Eğitim Hakkında

İleri Git teknikleri ve GitLab platform mühendisliği

Eğitim, Git'in nesne modeli, reflog, interactive rebase, bisect, filter-repo, submodule ve worktree gibi ileri tekniklerini GitLab ile birleştirir. Merge request politikaları, protected branch ve code owners, .gitlab-ci.yml ileri özellikleri, child pipeline, registry ve güvenlik taramaları, Terraform state ve GitOps, Omnibus kurulum, yedekleme, LDAP ve Gitaly mimarisi uygulamalı ele alınır.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün İleri Git Mühendisliği; 2. gün Strateji, Hook ve GitLab Akışı; 3. gün GitLab CI/CD ve Yönetim.

Seviye

İleri Seviye — Git iç yapısı ve tarihçe düzenlemeden GitLab CI/CD, güvenlik ve self-managed yönetimine uzanan ileri yelpaze

Öğrenme Metodu

Katılımcılar bozulmuş bir depoyu onarır, tarihçeyi düzenler, çok aşamalı pipeline yazar, güvenlik taramalarını ekler ve yerel bir GitLab örneğini yedekleyip geri yükler.

Neden Bu Eğitim?

🧠İç Yapıyı Bilmek

Komutların nesne ve referans düzeyinde ne yaptığını anlayarak karmaşık durumları rahatça çözersiniz.

🧹Temiz Tarihçe

Rebase, fixup ve cherry-pick ile okunabilir, geri dönülebilir bir commit geçmişi oluşturursunuz.

⚙️Otomasyon

Hook ve CI entegrasyonuyla kalite kontrollerini commit anına taşırsınız.

Anahtar Konular

ileri seviye gitgitlab ilerigit rebasegit bisectgit submodulegitlab ci cdgitlab runnergitlab güvenlik taramasıgitlab yönetimigit filter-repo
“Araçları derinden bilen, sorunların çoğunu daha oluşmadan önler.”

Ön Koşullar

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

1
Git Deneyimi

add, commit, branch, merge ve push komutlarını günlük işte kullanmış olmak gerekir.

2
Terminal Hâkimiyeti

Bash veya PowerShell'de rahat çalışabilmek ve metin editörü kullanabilmek beklenir.

3
Ekip Projesi Deneyimi

En az bir ortak depoda çalışmış olmak örneklerin anlaşılmasını kolaylaştırır.

4
Laboratuvar Ortamı

Git, Docker ve bir uzak depo hesabı kurulu bir bilgisayar gerekir.

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 Git nesne modelini inceler, tarihçeyi rebase ile düzenler, hata avı yapar ve büyük depoları yönetir.
Modül 1
Git İç Yapısı: Nesneler ve Referanslar
  • blob, tree, commit ve annotated tag nesneleri; git cat-file -p ve git hash-object ile inceleme
  • .git/objects dizini, loose object ile packfile farkı ve git gc / git repack çalışması
  • refs/heads, refs/tags, refs/remotes ve packed-refs; HEAD'in symbolic-ref olarak davranışı
  • git ls-tree, git rev-parse ve git show-ref ile iç verilere erişim
  • Index dosyası (.git/index) ve git ls-files --stage çıktısı
  • Reachability kavramı, yetim (dangling) nesneler ve git fsck ile bütünlük kontrolü
Modül 2
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 3
Sorun Giderme: Bisect, Blame ve Tarihçe Temizliği
  • git bisect start/good/bad ve bisect run ile hatayı getiren commit'in otomatik bulunması
  • git blame -L, -w, -C ve git log -L ile satır ve fonksiyon geçmişi takibi
  • Yanlışlıkla commit edilen parola veya API anahtarının git filter-repo ve BFG ile tarihçeden silinmesi
  • Büyük dosyaların depoyu şişirmesi: git count-objects -vH, git rev-list --objects ve temizlik
  • Detached HEAD durumu, nedeni ve yeni dala bağlayarak çıkış yolu
  • git fsck, git gc --prune ve bozuk depo onarım senaryoları
Modül 4
Submodule, Worktree, Sparse-Checkout ve LFS
  • git submodule add/update --init --recursive ve alt modül sürümünün sabitlenmesi
  • git subtree ile bağımlılığı tarihçeyle birlikte içeri alma ve submodule ile karşılaştırma
  • git worktree add ile aynı depoda birden fazla dal üzerinde eşzamanlı çalışma
  • Büyük depolarda partial clone (--filter=blob:none), shallow clone (--depth) ve sparse-checkout
  • Git LFS: git lfs track, .gitattributes, lfs pointer dosyaları ve depolama kotası
  • Monorepo ile polyrepo kararı: bağımlılık yönetimi, CI süresi ve erişim kontrolü etkileri
Günün hedefiKatılımcı gün sonunda Dallanma stratejisini, sürüm etiketlemeyi ve hook'ları GitLab merge request akışına bağlar.
Modül 1
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 2
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 3
GitLab Temelleri: Grup, Proje ve Merge Request
  • GitLab arayüzü: grup, alt grup, proje hiyerarşisi ve görünürlük seviyeleri
  • Rol modeli: Guest, Reporter, Developer, Maintainer, Owner ve proje üyeliği
  • Merge request akışı: taslak, onay kuralları (approval rules), pipeline sonucu ve squash seçeneği
  • Protected branches, push kuralları ve code owners ile dal koruma
  • Issues, etiketler (scoped labels), milestones, boards ve epic ile planlama
  • Wiki, snippet'lar, Web IDE ve GitLab Flow (ortam dalları) yaklaşımı
Modül 4
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
Günün hedefiKatılımcı gün sonunda Gelişmiş pipeline'lar, güvenlik taramaları ve altyapı kodunu kurar; self-managed GitLab'ı işletir.
Modül 1
GitLab CI/CD ve .gitlab-ci.yml
  • .gitlab-ci.yml yapısı: stages, jobs, script, before_script, image ve services
  • rules, only/except, needs ve DAG ile koşullu ve paralel job akışı
  • GitLab Runner kurulumu: shell, docker ve kubernetes executor; runner tag'leri ve register işlemi
  • artifacts, cache, dependencies ve reports (junit, coverage) ile çıktı ve test raporu yönetimi
  • CI/CD variables: protected/masked değişkenler, dosya tipi değişkenler ve environment scope
  • include, extends, !reference ve YAML anchor'ları ile pipeline şablonlama; child ve multi-project pipeline
Modül 2
GitLab Dağıtım, Registry ve Güvenlik Taramaları
  • Environments, deployment ve manuel onaylı (when: manual) production dağıtımı; review apps
  • Container Registry ile docker build/push ve $CI_REGISTRY_IMAGE, CI_JOB_TOKEN kullanımı
  • Package Registry (npm, Maven, PyPI) ve Terraform state yönetimi
  • SAST, Secret Detection, Dependency Scanning ve Container Scanning şablonlarının pipeline'a eklenmesi
  • DAST ve Security Dashboard ile zafiyet yönetimi; merge request güvenlik widget'ı
  • Auto DevOps ve Kubernetes entegrasyonu (GitLab Agent for Kubernetes) ile GitOps yaklaşımı
Modül 3
Altyapı Kodu için Sürüm Kontrolü
  • Infrastructure as Code depolarında Git: Terraform, Ansible ve Kubernetes manifest yapısı
  • Ortam dalı ile ortam dizini yaklaşımı (dev/stage/prod) ve değişiklik akışının karşılaştırılması
  • terraform.tfstate dosyasını Git'e koymama kuralı, remote state ve .gitignore örnekleri
  • Pull request ile terraform plan çıktısı, onay ve apply otomasyonu
  • GitOps: Argo CD veya Flux ile Git'in tek doğru kaynak (single source of truth) olması
  • Sırların yönetimi: SOPS, sealed-secrets ve Vault ile şifreli konfigürasyon commit etme
Modül 4
GitLab Self-Managed Kurulum ve Yönetim
  • Omnibus paketi ile kurulum, sistem gereksinimleri ve gitlab.rb yapılandırması; gitlab-ctl reconfigure
  • external_url, HTTPS (Let's Encrypt veya kurumsal sertifika) ve reverse proxy ayarları
  • LDAP / Active Directory, SAML ve OAuth ile merkezi kimlik doğrulama; SMTP bildirim ayarı
  • gitlab-backup create / restore, gitlab-secrets.json yedeği ve yedekleme zamanlaması
  • Sürüm yükseltme yolu (upgrade path), zero-downtime upgrade ve gitlab-rake gitlab:check
  • İzleme ve ölçekleme: Prometheus/Grafana, Gitaly, Sidekiq, Geo replikasyonu ve Praefect

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Git İç Yapısı

Commit, tree ve blob nesnelerini doğrudan inceleyerek Git'in iç işleyişini kavrarsınız.

🎯
Tarihçe Düzenleme

Interactive rebase ile paylaşıma hazır, temiz bir commit geçmişi oluşturursunuz.

🔧
Gelişmiş Git Araçları

Büyük ve çok bileşenli depoları submodule, worktree ve LFS ile yönetirsiniz.

🧩
Strateji Seçimi

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

📦
GitLab Temelleri

GitLab'da grup, proje ve merge request akışını kurup yönetirsiniz.

🚀
Hook Otomasyonu

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

🔒
Dağıtım ve Güvenlik

Registry, review app ve güvenlik taramalarıyla tam bir dağıtım hattı kurarsınız.

📊
Altyapı ve Git

Altyapı kodunu PR tabanlı, denetlenebilir bir Git akışıyla yönetirsiniz.

Kimler İçin Uygundur?

  • Kıdemli geliştiriciler
  • DevOps ve platform mühendisleri
  • GitLab yöneticileri
  • Git'i ileri düzeyde kullanmak isteyen teknik liderler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kıdemli geliştiriciler, DevOps ve platform mühendisleri, GitLab yöneticileri ve Git'i ileri düzeyde kullanmak isteyen teknik liderler için uygundur.
Ön koşul olarak ne bilmeliyim?
Günlük Git kullanımı (branch, merge, push) ve temel CI kavramları beklenir.
Bozuk depo onarımı işleniyor mu?
Evet. fsck, reflog ve filter-repo ile sızan sırların silinmesi dahil onarım senaryoları uygulanır.
GitLab kurulumu yapacak mıyız?
Evet. Omnibus kurulum, gitlab.rb, yedekleme/geri yükleme ve yükseltme yolu uygulamalı anlatı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. İleri Seviye Git & GitLab Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
Seviyeİleri 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ğiLearning Git and GitHub Eğitimi
Yazılım Geliştirme Eğitimleri

Learning Git and GitHub Eğitimi

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

Learning Git and GitHub: Git komutları, dal ve merge, uzak depo, pull request, Issues, Projects ve ilk GitHub Actions workflow'u ile sıfırdan başlayın.

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

Microsoft GitHub Essentials Eğitimi

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

Microsoft GitHub Essentials: Git ve GitHub kavramları, pull request, Issues, Actions ile .NET derleme, Dependabot, code scanning, Copilot ve organizasyon yöneti

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiProgramming for Engineering Leaders: Programming Frameworks & Version Control Eğitimi
Yazılım Geliştirme Eğitimleri

Programming for Engineering Leaders: Programming Frameworks & Version Control Eğitimi

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

Mühendislik liderleri için programlama framework seçimi, Git dallanma ve kod inceleme, CI/CD ve DORA metrikleri; teknik kararları yönetici bakışıyla değerlendir

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiScrum Toolbox: GitHub for Scrum Eğitimi
Yazılım Geliştirme Eğitimleri

Scrum Toolbox: GitHub for Scrum Eğitimi

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

Scrum Toolbox GitHub for Scrum: backlog, sprint, Projects iterasyon, Definition of Done, PR şablonu, Insights burndown ve retrospektif için GitHub kullanımı.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiSoftware Design and Development: Version Control System Eğitimi
Yazılım Geliştirme Eğitimleri

Software Design and Development: Version Control System Eğitimi

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

Yazılım tasarımı ve geliştirmede sürüm kontrol sistemi: Git snapshot modeli, dal ve rebase, nesne yapısı, SemVer, dallanma stratejileri, hook ve CI entegrasyonu

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