KAYNAK SUNUCU

Değişiklikleri Gönderen

SYNC Sistemi

Adım Adım Rehber

Bu Sunucu Ne Yapacak?

Bu sunucudaki değişiklikleri paketleyip test/birleştirme sunucusuna göndermek için hazırlık yapacaksın.

Git yedekleme Dosya listesi Migration raporu Çakışma analizi

Güvenlik Kuralları

❌ ASLA

  • storage/ klasörünü dahil etme
  • .env dosyasını paylaşma
  • vendor/ veya node_modules/ dahil etme
  • Migration otomatik çalıştırma

✅ HER ZAMAN

  • Git checkpoint oluştur
  • Commit hash'i kaydet
  • Çakışma riski varsa uyar
  • Detaylı rapor oluştur

1 Git Durum Kontrolü

Önce mevcut durumu kontrol et:

Bash
git status git log --oneline -10 git branch -a

📋 Kullanıcıya Bildir:

  • • Mevcut branch: [branch adı]
  • • Commit edilmemiş değişiklik var mı?
  • • Son 10 commit listesi

2 Checkpoint Oluştur

Tüm değişiklikleri kaydet ve commit hash al:

Bash
# Tüm değişiklikleri stage'e al git add -A # Checkpoint commit oluştur git commit -m "🔄 SYNC CHECKPOINT: $(hostname) - $(date +%Y-%m-%d_%H-%M)" # Commit hash'i al (ÖNEMLİ - KAYDET!) git rev-parse HEAD

ÖNEMLİ: Commit hash'i kullanıcıya ver. Bu hash ana sunucuya iletilecek!

3 Değişen Dosyaları Listele

Kullanıcıya kaç commit geriye gidileceğini sor, sonra listele:

Bash
# Son X commit'teki değişiklikler (X'i kullanıcıya sor) git diff --name-status HEAD~X HEAD # Veya belirli bir tarihten itibaren git diff --name-status --since="2026-01-25" HEAD # Dosya içeriğini görmek için git show HEAD:path/to/file.php

[A] Yeni Dosyalar

Bu sunucuda oluşturulmuş, hedefte yok

[M] Değişen Dosyalar

Mevcut dosyalarda değişiklik

[D] Silinen Dosyalar

Bu sunucuda silindi

📋 Her dosya için açıkla:

  • • Dosya yolu
  • • Ne işe yarıyor (kısa açıklama)
  • • Hangi modülle ilgili (Auth, Blog, Service vs.)

4 Migration Kontrolü

Yeni eklenen migration'ları tespit et:

Bash
# Central migration'lar ls -la database/migrations/ | tail -20 # Modül migration'ları ls -la Modules/*/database/migrations/ 2>/dev/null # Tenant migration'ları ls -la Modules/*/database/migrations/tenant/ 2>/dev/null # Migration durumu php artisan migrate:status

UYARI: Migration'ları ÇALIŞTIRMA! Sadece listele ve raporla. Hedef sunucuda kullanıcı çalıştıracak.

📋 Her migration için belirt:

  • • Migration adı
  • • Ne yapıyor (tablo/kolon ekleme, index vs.)
  • [CENTRAL] mi [TENANT] mi?

5 Çakışma Riski Analizi

Bu dosyalarda değişiklik varsa özellikle uyar:

Yüksek Risk

  • config/*.php
  • routes/*.php
  • app/Providers/*.php
  • composer.json
  • package.json

Dikkat Gerektiren

  • app/Models/*.php
  • app/Http/Kernel.php
  • .env.example
  • webpack.mix.js
  • tailwind.config.js

Bu dosyalarda değişiklik varsa, ana sunucudaki AI'a "bu dosya riskli, dikkatli birleştir" uyarısı ver.

6 SYNC Raporu Oluştur

Bu formatı kullanarak rapor oluştur ve kullanıcıya ver:

SYNC Rapor Şablonu
═══════════════════════════════════════════════════════
🔄 SYNC RAPORU - [SUNUCU ADI]
═══════════════════════════════════════════════════════

📅 Tarih: [tarih]
🔑 Commit Hash: [hash]
🌿 Branch: [branch]

─────────────────────────────────────────────────────
📁 DEĞİŞEN DOSYALAR ([toplam] dosya)
─────────────────────────────────────────────────────

🟢 YENİ DOSYALAR:
[A] path/to/file.php
    → Açıklama (Modül: X)

🟡 DEĞİŞEN DOSYALAR:
[M] path/to/file.php
    → Açıklama (Modül: X)

🔴 SİLİNEN DOSYALAR:
[D] path/to/file.php
    → Açıklama

─────────────────────────────────────────────────────
🗄️ MİGRATIONLAR
─────────────────────────────────────────────────────

[CENTRAL] 2026_xx_xx_migration_name.php
    → Ne yapıyor

[TENANT] 2026_xx_xx_migration_name.php
    → Ne yapıyor

─────────────────────────────────────────────────────
⚠️ ÇAKIŞMA RİSKİ
─────────────────────────────────────────────────────

🔴 [YÜKSEK] config/app.php
    → Bu değişti: [açıklama]

🟡 [ORTA] routes/web.php
    → Bu değişti: [açıklama]

─────────────────────────────────────────────────────
❌ DAHİL EDİLMEYENLER
─────────────────────────────────────────────────────
- storage/*
- .env
- vendor/*
- node_modules/*
- public/storage/*

─────────────────────────────────────────────────────
💬 HEDEF SUNUCUYA SORU (varsa)
─────────────────────────────────────────────────────

[Sormak istediğin sorular]

═══════════════════════════════════════════════════════

Dosyaları Gönderme

Hedef sunucudaki AI dosya içeriklerini isteyecek. Her istenen dosya için:

# Dosya içeriğini göster cat path/to/file.php # veya git'ten son halini al git show HEAD:path/to/file.php

Kullanıcı bu içerikleri kopyalayıp ana sunucuya iletecek.

Hedef Sunucu ile İletişim

Hedef sunucudaki AI sana soru sorabilir. Örnek sorular:

Hedef: "config/app.php'nin tam diff'ini alabilir misin?"

Hedef: "Bu migration hangi tabloyu etkiliyor?"

Hedef: "BlogController'da hangi metodlar değişti?"

Bu soruları yanıtla, kullanıcı cevapları ana sunucuya iletecek.