Git İş Akışı·

FiveM Güncellemelerini Basitleştirmek ve Her Değişikliği Tespit Etmek İçin GitHub Desktop Kullanımı

FiveM sunucu sahipleri için komut satırı gerektirmeyen bir kılavuz: bir güncellemede tam olarak neyin değiştiğini görmek, kendi yapılandırma düzenlemelerinizi korumak ve bir şeyler bozulduğunda anında geri yüklemek için GitHub Desktop kullanın.

Giriş

Her sunucu sahibi bu hissi bilir. Yeni bir kaynak sürümü yayınlanır, değişiklik günlüğü "/config/framework klasörünü değiştirin" der ve donup kalırsınız — çünkü o dosyaları ayarlamak için saatler harcadınız ve güncellemenin gerçekte neye dokunduğu hakkında hiçbir fikriniz yok. Üzerine yazıp çalışmanızı kaybeder misiniz? Klasörü atlayıp scriptin bozulması riskini mi alırsınız? Satırları elle ileri geri kopyalayıp bir şeyi kaçırmadığınızı mı umarsınız?

Çok daha iyi bir yol var — ve tek bir komuta bile dokunmanıza gerek yok. GitHub Desktop adlı ücretsiz bir uygulama ile, basit bir tıkla yönetilen arayüz üzerinden herhangi bir güncellemede tam olarak neyin değiştiğini görebilir, kendi özelleştirmelerinizi güvende tutabilir ve saniyeler içinde geri yükleme yapabilirsiniz.

Git Nedir ve GitHub Desktop Nedir?

Git bir versiyon kontrol sistemidir — bunu bir klasör için sınırsız, mükemmel bir geri alma geçmişi olarak düşünün. Her bir anlık görüntü ( commit olarak adlandırılır) kaydettiğinizde, her dosyanın tam durumunu kaydeder. Daha sonra herhangi iki anlık görüntüyü satır satır karşılaştırabilir, önceki bir durumu geri yükleyebilir veya değişiklikleri birleştirebilirsiniz.

GitHub Desktop Git'i kullanıcı dostu butonların arkasına yerleştiren ücretsiz, görsel bir uygulamadır. Siyah terminal yok, ezberlenecek komutlar yok — sadece neyin değiştiğini gösteren ve tek bir tıklamayla commit yapmanıza, geri almanıza ve birleştirmenize olanak tanıyan net bir pencere.

Bir FiveM sunucusu için takip ettiğiniz klasör, resources dizininizdir (veya içindeki tek bir scripttir). Git, "Birkaç hafta önce burada bir şeyleri değiştirdiğimi sanıyorum" ifadesini şuna dönüştürür: "geçen aydan bugüne tam olarak neyin değiştiğini bana göster."

GitHub Desktop tamamen yerel olarak çalışır. İnternete herhangi bir şey yüklemek zorunda değilsiniz — bu kılavuzdaki her özellik kendi makinenizde veya VPS'nizde çevrimdışı olarak çalışır. Farklı bir uygulama mı tercih ediyorsunuz? Sourcetree, GitKraken, Fork ve VS Code içindeki yerleşik Source Control paneli de aynı işi yapar; aşağıdaki kavramlar doğrudan geçerlidir.

Bu Neden Kaynak Güncellemeleri İçin Mükemmeldir

Bir scripti geleneksel yöntemle güncellemek, körleme çalışmak anlamına gelir. Git size üç süper güç verir:

  1. Değişiklik algılama — yeni bir sürüm yükledikten sonra GitHub Desktop, değişen her dosyayı ve değişen her satırı vurgular. Değişiklik günlüğü size hangi klasörlerin değiştirileceğini söyler; Git, güvenebilmeniz için aslında neyin değiştiğini gösterir.
  2. Güvenli özelleştirme — düzenlemeleriniz commit'lerde yaşar. Bir satıcı güncellemesi aynı dosyaya dokunduğunda, Git iki değişiklik setini birleştirebilir, sizinkini ve onlarınkini korur.
  3. Anında geri yükleme — bir güncelleme sunucunuzu bozarsa, beş dakika önceki tam durumunuza tek bir tıklama uzaklıktasınız. "Yedeği nereye koymuştum" paniği yok.
Bu, Sky-Systems gibi escrow korumalı kaynaklarla mükemmel bir şekilde eşleşir. Şifrelenmiş source/ klasörü sizin tarafınızda asla değişmez, düzenlediğiniz her şey ise düz metin halindeki config/ klasöründe bulunur. Git, config/ sürecini harika bir şekilde takip eder — ki bu, özelleştirmelerinizin ve satıcının güncellemelerinin birleştiği tam noktadır.

GitHub Desktop ile Tek Seferlik Kurulum

Bunu her sunucu için yalnızca bir kez yaparsınız.

GitHub Desktop'ı Kurun

desktop.github.com adresinden indirin ve kurun. Oturum açma istemesini atlayabilir veya kapatabilirsiniz — çevrimiçi bir hesap, yalnızca GitHub'a yedekleme yapmak isterseniz gereklidir; bu kılavuz bunun için gereksinim duymaz.

Kaynak Klasörünüzü Ekleyin

Menü çubuğunda File → Add local repository seçeneğine, ardından Choose… kısmına tıklayın ve resources klasörünüzü seçin.

GitHub Desktop bunun henüz takip edilmediğini fark edecek ve şunu gösterecektir: "This directory does not appear to be a Git repository." Sunduğu "create a repository" bağlantısına tıklayın. Bir sonraki ekranda varsayılan ayarları bırakın ve Create repository butonuna tıklayın.

Gizli Bilgilerinizi Koruyun

Bir FiveM sunucusu, geçmişinize asla kaydedilmemesi gereken hassas veriler barındırır. GitHub Desktop'ta Repository → Repository settings → Ignored files yolunu açın ve şu gibi kurallar ekleyin:

# Never track secrets
**/*.env
**/secrets.lua
server.cfg

# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store

Ayrıca Changes listesindeki herhangi bir dosyaya sağ tıklayıp Ignore file (veya Ignore all files of this type) seçeneğini seçebilirsiniz — GitHub Desktop bunu .gitignore dosyasına sizin yerinize ekler.

Asla kimlik bilgilerini commit etmeyin. Veritabanı şifreleri, sv_licenseKey değeriniz, Tebex sırları, Discord tokenları ve webhook URL'leri Git dışında tutulmalıdır. Bunları ilk commit işleminizden önce ignore listesine ekleyin — bir şey bir kez commit edildiğinde geçmişte kalır.

İlk Anlık Görüntünüzü Alın

Sol yan menüdeki Changes sekmesine geçin. Her dosya listede görünür. Sol alttaki Summary kutusuna Baseline: working server before updates gibi bir şey yazın, ardından Commit to main butonuna tıklayın.

Tamamlandı. Artık tüm sunucunuzun altında bir güvenlik ağı var.

Ücretli kaynaklarınızı yayınlamayın. Eğer GitHub Desktop herhangi bir lisanslı veya escrow korumalı script için mavi bir "Publish repository" butonu sunarsa, ona dokunmayın. Bu dosyaları halka açık bir depoya yüklemek lisansı ihlal eder ve ücretli içeriği açığa çıkarır. Depoyu sadece yerel olarak tutun.

Güncelleme İş Akışı

Bu, her güncelleme için tekrarladığınız rutindir. Yaklaşık bir dakika sürer.

Mevcut Durumunuzu Commit Edin

GitHub Desktop'ı açın ve Changes sekmesini kontrol edin. Eğer listede bir şey varsa, güncellemenin temiz bir şekilde öne çıkması için önce Pre-update snapshot gibi bir özetle commit edin. Liste boşsa, hazırsınız demektir.

Yeni Versiyonu Yerleştirin

Sunucunuzu durdurun, ardından yeni kaynak sürümünü eski dosyaların üzerine (değişiklik günlüğünün talimatlarına tam olarak uyarak — örneğin, "/config/framework klasörünü değiştir") üzerine yazacak şekilde çıkarın. Bir şeyleri kaybetme konusunda endişelenmeyin; önceki durumunuz güvenli bir şekilde commit edildi.

Tam Olarak Ne Değiştiğini Görün

GitHub Desktop'a geri dönün ve Changes sekmesini açın. İşte sihirli an: güncellemenin dokunduğu her dosya listelenir ve birine tıkladığınızda değişiklikleri satır satır görürsünüz — kırmızı renkte silinen satırlar, yeşil renkte eklenen satırlar.

Artık tahmin yürütmek yerine güncellemenin tam olarak ne yaptığını —yeni yapılandırma seçenekleri, değiştirilen varsayılanlar, yeniden adlandırılan anahtarlar— okuyabilirsiniz.

Dosya listesine göz atın ve bunu değişiklik günlüğü (changelog) ile karşılaştırın. Eğer değişiklik günlüğü yalnızca config/framework ve config/banking'in değiştiğini söylüyorsa, burada gördüğünüz klasörler bunlar olmalıdır. Beklenmedik bir durum varsa, commit etmeden önce yakından incelemeye değer.

Özelleştirmelerinizi Uzlaştırın

Eğer güncelleme sizin özelleştirdiğiniz bir dosyanın üzerine yazdıysa, fark (diff) ekranı sizin ayarlarınızı kırmızı (silinen), satıcının varsayılanlarını ise yeşil (eklenen) olarak gösterecektir. O dosyayı düzenleyicinizde açın, değerlerinizi yeniden uygulayın —fark ekranı tam olarak hangi satırlar olduğunu gösterir— ve kaydedin. GitHub Desktop, siz yazarken karşılaştırmayı canlı olarak günceller.

Tam otomatik bir uzlaştırma için aşağıdaki Pro İpucu kısmına bakın.

Güncellemeyi Commit Edin

Her şey doğru göründüğünde ve sunucunuz sorunsuz bir şekilde açıldığında, Changes sekmesine geri dönün, Update sky_base to 1.21.0 gibi bir özet girin ve Commit to main butonuna tıklayın.

Artık her zaman geri dönebileceğiniz etiketlenmiş bir kontrol noktanız var.


Bir Şeyler Bozulduğunda Geri Alma

Güncelleme hatalı mı çalışıyor? Sakin olun — GitHub Desktop, hafif yöntemlerden radikal yöntemlere kadar size birkaç seçenek sunar.

Commit edilmemiş değişiklikleri geri al. Changes sekmesinde dosyaları (veya hepsini) seçin, sağ tıklayın ve Discard Changes / Discard All Changes seçeneğini seçin. Bu, dosyaları son commit halinize geri döndürür.

Daha önceki bir anlık görüntüye geri dön. Oluşturduğunuz her anlık görüntüyü görmek için sol kenar çubuğundaki History sekmesini açın:

  • Temiz bir kayıt tutarak bir güncellemeyi güvenli bir şekilde geri almak için, hatalı commit'e sağ tıklayın ve Revert Changes in Commit seçeneğini seçin. Bu, yeni bir "geri alma" commit'i oluşturur — hiçbir şey kaybolmaz.
  • Tamamen daha önceki bir duruma geri sarmak için, istediğiniz anlık görüntüye sağ tıklayın ve Reset to commit seçeneğini seçin.
Reset to commit projenizi o anlık görüntüye geri sarar. Saklamak istediğiniz her şeyi önce commit edin veya stash edin. Şüpheye düşerseniz, Revert Changes in Commit seçeneğini tercih edin — bu, yıkıcı olmayan seçenektir.

Değişikliklerinizi geçici olarak kenara kaldırın — bir güncellemeyi temiz bir sayfa ile test etmek ve ardından çalışmanızı geri getirmek için kullanışlıdır. Changed files başlığına sağ tıklayın ve Stash All Changes seçeneğini seçin. Onları geri almak için kenar çubuğunda Stashed Changes öğesini seçin ve Restore butonuna tıklayın.

GitHub Desktop her seferinde bir stash tutar — tekrar stash yapmak bir öncekini değiştirir. Kısa, geçici sapmalar için kullanın ve saklamak istediğiniz her şey için commit kullanın.

İpucu: Otomatik Birleştirme ile Vendor Güncellemeleri

Her güncellemeden sonra konfigürasyon düzenlemelerinizi elle tekrar uygulamaktan yoruldunuz mu? GitHub Desktop, üç yönlü birleştirme kullanarak bunu sizin yerinize yapabilir.

Mantık: Bir dalı saf vendor sürümleri ile, diğerini ise üzerine kendi düzenlemeleriniz ile tutun.

Bir Vendor Dalı Oluştur

Üstteki Current Branch açılır menüsüne, ardından New Branch seçeneğine tıklayın ve adını vendor koyun. Bu dal yalnızca dokunulmamış vendor dosyalarını içerecektir.

Her Sürümü Satıcı Dalında Kaydedin

Yeni bir sürüm çıktığında, vendor dalına (Current Branch açılır menüsü) geçiş yapın, değiştirilmemiş sürüm dosyalarını üzerine çıkarın ve ardından Vendor sky_base 1.21.0 gibi bir özetle commit edin.

Güncellemeyi Düzenlemelerinizle Birleştirin

Tekrar main dalınıza (Current Branch açılır menüsü) geçin. Ardından Branch → Merge into current branch… seçeneğini açın, vendor dalını seçin ve birleştirin.

GitHub Desktop, satıcının değişikliklerini özelleştirmelerinizle otomatik olarak birleştirir. Sadece bir güncelleme, özelleştirdiğiniz tam olarak aynı satırları değiştirdiğinde durup size sorar ve bu birkaç noktayı çözmeniz için net bir ekran gösterir. Diğer her yerde, her iki değişiklik seti de sizin için saklanır.

Bu, profesyonel ekiplerin yerel değişiklikleri kaybetmeden upstream kütüphanelerini takip etmek için kullandığı aynı tekniktir ve sunucunuz için de aynı derecede iyi çalışır.


Komut Satırını mı Tercih Ediyorsunuz?

Terminal kullanmaya alışıksanız, yukarıdaki iş akışının tamamı birkaç komuta karşılık gelir:

# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"

# Each update
git add . && git commit -m "Pre-update snapshot"   # snapshot first
# ...drop in the new release, overwriting files...
git status            # which files changed
git diff --stat       # a compact per-file summary
git diff              # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"

# Rolling back
git restore <file>    # undo changes to one file
git restore .         # undo all uncommitted changes
git log --oneline     # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop   # shelve and restore temporarily

En İyi Uygulamalar

  • Her güncellemeden önce commit edin. Bir anlık görüntü almak iki saniye sürer ve saatler kazandırır.
  • Net özetler yazın. Altı ay sonra geçmişi tararken Update sky_base to 1.21.0 gibi bir özet, stuff gibi bir özetten çok daha iyidir.
  • Gizli bilgileri görmezden gelinen olarak tutun. Kimlik bilgileri asla sürüm geçmişinde yer almamalıdır.
  • Temiz bir başlatma sonrasında commit edin, öncesinde değil. Bir anlık görüntüyü ancak sunucu gerçekten çalıştığında "iyi" olarak etiketleyin.
  • Tüm resources klasörünüzü tek bir depoda takip edin. Bu sayede tek bir geri yükleme, herhangi bir scriptin hatalı bir güncellemesinden kurtulmanızı sağlayabilir.
  • Yerel tutun. Lisanslı veya escrow korumalı kaynakları asla halka açık bir depoda yayınlamayın.

Sonuç

Bir FiveM sunucusunu güncellemek artık tahmin yürütmek, özelleştirmelerin kaybolması ve panik içinde yedek aramayı gerektirmiyor. Tek seferlik bir GitHub Desktop kurulumu ve bir dakikalık bir rutin ile, güncellemenin yaptığı her değişikliği görebilir, kendi düzenlemelerinizi koruyabilir ve herhangi bir hatayı anında geri alabilirsiniz — üstelik tek bir komut bile yazmadan.

Bir sonraki değişiklik günlüğü (changelog) size bir klasörü değiştirmenizi söylediğinde, bunu güvenle yapacaksınız; çünkü GitHub Desktop her seferinde size tam olarak neyin değiştiğini gösterecek.