dotCREA
Bakım & Destek

Shopify temasında sürüm yönetimi: kim, ne zaman, neyi değiştirdi?

Tema kütüphanesindeki “kopya 3 SON” temaları bir düzen değil. Kütüphane kopyasından Shopify CLI'a, oradan GitHub entegrasyonuna kadar üç düzeyi, hangi mağazanın hangisinde durması gerektiğini ve yayın akışını yazdık.

Bakım yazısında yayındaki temaya doğrudan dokunulmadığını, değişikliğin kopyada yapıldığını yazmıştık. Bu yazı o cümlenin arkasını dolduruyor: kopya nerede yetmiyor, yerine ne kuruluyor ve bunun mağazaya maliyeti ne?

Sorunun kendisi hemen her mağazada aynı biçimde ortaya çıkıyor. Tema kütüphanesinde birbirine benzeyen yedi tema var: “Dawn kopya”, “Dawn kopya 2”, “yeni kampanya SON”, “yedek 12.03”. Hangisinin yayındaki temayla aynı olduğunu, aradaki farkı kimin ne zaman yazdığını kimse bilmiyor. Bir sorun çıktığında geri dönülecek nokta belli değil; belli olsa bile o noktaya dönmenin bugünkü içerik ayarlarını da geri alacağı biliniyor.

Sürüm yönetimi, bu belirsizliği ortadan kaldıran düzenin adı. Büyük bir ekip işi değil; tek kişilik bir mağazada bile kurulabiliyor.

Üç düzey var, hepsi herkese gerekmiyor

Sürüm yönetimini tek bir şey olarak anlatmak yanlış olur. Pratikte üç düzey var ve mağazalar genellikle bir üstüne ihtiyaç duyduğunda değil, bir alt düzeyde canı yandığında yukarı çıkıyor.

Düzey 1 — kütüphane kopyası: değişiklik öncesi yayındaki temanın kopyası alınır, iş kopyada yapılır, onaydan sonra yayınlanır. Araç gerekmez
Düzey 2 — yerel dosyalar ve Shopify CLI: tema dosyaları bilgisayara indirilir, değişiklik yerelde yapılır, geliştirme temasında önizlenir ve mağazaya yüklenir. Kod bir depoda tutulur
Düzey 3 — GitHub entegrasyonu: bir Git dalı doğrudan bir temaya bağlanır; dala giren her değişiklik mağazadaki temaya, mağazada yapılan düzenlemeler de dala yansır

Ayrımın ölçütü mağazanın cirosu değil, temaya kod yazılıp yazılmadığı ve temaya dokunan kişi sayısı. Tema koduna hiç dokunulmayan, tek kişinin panelden yönettiği bir mağazada birinci düzey yeterli. İki kişinin aynı hafta içinde aynı dosyaya dokunduğu bir mağazada birinci düzey artık düzen değil, kaza bekleme biçimi.

İlgili hizmet
Mevcut düzeninizi birlikte gözden geçirelim

Tema kütüphanesini, kimin neye eriştiğini ve değişikliklerin nasıl yayınlandığını çıkarıp size uygun düzeyi öneriyoruz; gerekmiyorsa gerekmediğini söylüyoruz.

Bakım ve destek hizmetimiz

Düzey 1: kütüphane kopyası nereye kadar götürür?

Kopya yöntemi ücretsiz, hızlı ve çoğu mağaza için doğru başlangıç. Ama üç yerde tıkanıyor.

Tema sayısı sınırlı: kütüphanede tutabileceğiniz tema sayısı standart paketlerde 20, Plus'ta 100. “Her ihtimale karşı bir kopya daha” alışkanlığı bir noktada bu sınıra dayanıyor
Fark görünmüyor: iki kopya arasında neyin değiştiğini kütüphane söylemiyor. Karşılaştırma elle, dosya dosya yapılıyor
Sebep kaydı yok: değişikliğin neden yapıldığı, hangi talebe bağlı olduğu ve kimin onayladığı hiçbir yerde durmuyor

Buna rağmen ilk düzeyde kalmayı seçen mağazalarda tek bir kural farkı büyük iş görüyor: kopyaların adı tarih ve sebep içersin. “Dawn kopya 3” yerine “2026-08-14 kargo eşiği rozeti” yazılan bir kütüphane, altı ay sonra hâlâ okunabiliyor.

Düzey 2: yerel dosyalar ve Shopify CLI

Temaya kod yazılmaya başlandığı anda işin merkezi panelden çıkıp bilgisayara geçiyor. Shopify'ın komut satırı aracı bu akışın tamamını karşılıyor:

İndirme ve yükleme: mevcut tema dosyalarını çekmek ve yerel dosyaları mağazaya göndermek için ayrı komutlar var
Geliştirme teması: yerelde çalışırken mağazanın gerçek verisiyle önizleme yapan, gizli ve geçici bir tema oluşturuluyor. CSS ve bölüm değişikliklerinde sayfa kendiliğinden tazeleniyor
Geliştirme teması tema sınırına dahil edilmiyor ve yedi gün işlem görmezse siliniyor; kalıcı bir önizleme bağlantısı gerekiyorsa yayınlanmamış bir temaya yüklemek gerekiyor
Paylaşım: işi kütüphaneye yayınlanmamış yeni bir tema olarak yükleyip önizleme bağlantısı vermek mümkün
Denetim: tema kodunu Liquid ve tema kurallarına göre tarayan bir kontrol komutu var; yayın öncesi rutine bunu koyuyoruz

Bu düzeyin asıl kazancı komutlar değil, dosyaların bir depoda durması. Değişiklik satır satır görünür oluyor, her değişikliğin bir açıklaması ve sahibi oluyor, geri dönüş tek bir işleme dönüşüyor. Kütüphanedeki tema sayısı da kendiliğinden azalıyor; çünkü geçmişi tutan yer artık kütüphane değil.

İlgili yazı
Kod ne zaman devreye giriyor?

Hazır temada ayarla çözülenin nerede bittiğini ve koda geçildiğinde bakımın nasıl değiştiğini ayrı bir yazıda ele aldık.

Özelleştirmenin sınırı

Düzey 3: GitHub entegrasyonu

Shopify, bir Git deposundaki dalı doğrudan bir temaya bağlamanıza izin veriyor. Bağlantı çift yönlü çalışıyor ve pratikte en çok yanlış anlaşılan yer burası:

Dala giren her değişiklik, mağazadaki bağlı temayı otomatik güncelliyor
Tema editöründen, kod editöründen ya da tema uygulamalarından yapılan düzenlemeler de Shopify tarafından dala işleniyor; on saniye içindeki düzenlemeler tek bir işlemde toplanıyor ve son düzenleyen kişi adına kaydediliyor
Bağlantıyı kurabilmek için mağaza tarafında tema yetkisi, depo tarafında yazma erişimi gerekiyor; kuruluş depolarında dışarıdan davet edilen katkıcılar dal bağlayamıyor
Depodaki klasör yapısı standart tema yapısına uymuyorsa uymayan klasörler yok sayılıyor
Bir dal temadan koparıldıktan sonra aynı temaya geri bağlanamıyor; yeniden bağlarsanız yeni bir tema olarak ekleniyor

Bir uyarı da çakışma tarafında: kod editörü çakışma bildirmiyor, oradaki sürüm depodaki sürümün üzerine yazıyor. İki taraftan aynı anda düzenleme yapıldığında Shopify'ın ürettiği işlemin GitHub tarafından geride kaldığı gerekçesiyle reddedilmesi de mümkün. Bu yüzden entegrasyon kurulan mağazalarda basit bir kural koyuyoruz: kod tarafına yalnızca depodan girilir, panelden yalnızca içerik ve ayar düzenlenir.

Bu düzeyin en pratik faydası ise inceleme: değişiklik yayına girmeden önce bir başkasının okuyabileceği bir yerde duruyor. Tek kişilik ekiplerde bile bu, “yayına aldıktan sonra fark etme” alışkanlığını kırıyor.

Dal düzeni: sade tutun

Karmaşık dallanma şemaları e-ticaret temalarında genellikle işe yaramıyor. Kullandığımız düzen üç dallı:

Ana dal, yayındaki temaya bağlıdır; buraya yalnızca onaylanmış değişiklik girer
Hazırlık dalı, yayınlanmamış bir temaya bağlıdır; kampanya öncesi biriken işler burada toplanır ve önizleme bağlantısı buradan paylaşılır
İş dalları kısa ömürlüdür; tek bir talep için açılır, birleştikten sonra kapatılır

Kampanya dönemlerinde bir kural daha ekliyoruz: kampanya başlamadan 48 saat önce ana dal kapanır, yalnızca hata düzeltmesi girer. Kampanya günü yapılan “küçük bir düzeltme”nin bedeli, kampanya dışı bir günde yapılanla aynı değil.

İçerik ve kod ayrımı

Sürüm yönetimini karıştıran asıl mesele şu: temanın içinde iki farklı şey var. Bir tarafta kod, diğer tarafta tema editöründen yapılan ayarlar ve sayfa içerikleri. İkisi aynı dosya yapısında duruyor ama aynı ritimde değişmiyor.

Kod haftada bir değişir, incelenir, geri alınabilir olmalıdır
İçerik gün içinde birkaç kez değişir; pazarlama tarafı bunu geliştiriciye sormadan yapabilmelidir
Bir kod değişikliğini geri almak, aynı anda içerik ayarlarını da geri almamalıdır

Bu yüzden geri alma her zaman “eski temayı yayınla” demek değil. Yalnızca kodu geri almak gerektiğinde depodaki değişikliği geri alıyoruz; içerik ayarları yerinde kalıyor. Eski temayı yayınlamak ise ancak tema bütünüyle bozulduğunda başvurduğumuz yöntem — çünkü o gün yapılan içerik düzenlemeleri de birlikte geri gidiyor.

Yayın akışı

Düzey ne olursa olsun yayın adımları aynı kalıyor; değişen yalnızca her adımın hangi araçla yapıldığı.

Değişiklik yayındaki temada değil, kopyasında ya da geliştirme temasında yapılır
Yayın öncesi tema denetimi çalıştırılır ve mobil dahil ana şablonlar önizlenir
Onay, ekran görüntüsüyle değil önizleme bağlantısıyla alınır
Yayın saati seçilir; kampanya başlangıcı ve mesai bitişi tercih edilmez
Yayından sonra gerçek bir siparişle ödeme adımı denenir
Ne değiştiği, hangi talebe bağlı olduğu ve geri alma yolunun ne olduğu tek satırla kayda geçer

Son madde en sık atlanan ama en çok işe yarayan adım. Altı ay sonra “bu kod neden buraya konmuş?” sorusuna cevap veren şey, kodun kendisi değil o tek satır oluyor.

İlgili yazı
Bakımın geri kalanı

Yedek düzeni, uygulama denetimi, erişim listesi ve izleme ritmini yayın sonrası bakım yazısında topladık.

Yayın sonrası bakım

Devir teslim: asıl sınav

Sürüm yönetiminin kurulup kurulmadığını anlamanın en kısa yolu şu soruyu sormak: yarın başka bir ekip devralsa, ne kadar sürede çalışmaya başlar?

Tema kodu kimin hesabındaki depoda duruyor; mağaza sahibinin bu depoya erişimi var mı
Yayındaki temanın hangi işlemle oluştuğu izlenebiliyor mu
Yapılan özelleştirmeler ve dokunulan dosyalar bir yerde yazılı mı
Ajans erişimi kapatıldığında mağaza kendi başına yayın yapabilir durumda kalıyor mu

Bu maddeler bizde ilkesel: yaptığımız işin ajansta kilitli kalması müşteri için risk, ilişki için sağlıksız bir bağ. Depo müşterinin hesabında açılır, erişim iş bitiminde devredilir.

Yapmadığımız şeyler

Yayındaki tema üzerinde doğrudan kod düzenlemek
Kod değişikliğini paneldeki kod editöründen yapıp depoyu geride bırakmak
Kampanya günü yayın almak
Tema kütüphanesini adı okunmayan kopyalarla doldurmak
Panelden başka hiç kimsenin koda dokunmadığı bir mağazaya GitHub entegrasyonu kurmak

Özet

Sürüm yönetimi bir araç seçimi değil, “geri dönebilir miyiz?” sorusuna önceden verilmiş bir cevap. Tema koduna dokunulmayan mağazada adı düzgün konmuş bir kopya yeterli; kod yazılan mağazada dosyalar depoya taşınıyor; birden fazla kişinin dokunduğu mağazada dal doğrudan temaya bağlanıyor. Üçünde de değişmeyen şey aynı: yayına giren her şeyin bir sahibi, bir sebebi ve bir geri dönüş yolu var.

Tema kütüphanenizin ekran görüntüsünü ve temaya son altı ayda kimlerin dokunduğunu paylaşın; hangi düzeyin size uygun olduğunu çıkaralım. Mevcut düzeniniz yetiyorsa bunu da açıkça söyleriz.

dC
dotCREA Shopify ekibi
29 Ağustos 2026 tarihinde yayımlandı
Paylaş
Bu konuyu mağazanız için konuşalım
Mağaza adresinizi gönderin, ücretsiz değerlendirelim.
Teklif alın

İlgili yazılar