CodeBlanks Logo Icon CodeBlanks

Özet - Archive

archive akışını birleştirerek dağıtım paketi hazırlarsın.

Arşivleme İş Akışı Özeti

git archive, depodaki commit geçmişini ve .git klasörünü dahil etmeden temiz dağıtım paketleri üretir. --format ile tar veya zip seçilebilir, --output ile hedef dosya belirlenir ve belirli bir dal ya da etiket paketlenebilir.

git archive --format=tar --output=surum.tar release
git archive --format=zip -o surum.zip v1.0.0

Bu araç sayesinde sürüm yayınlama ve sunucuya dağıtım süreçlerinde gereksiz Git meta verilerini taşımadan yalın kod paketleri oluşturulur.

Uygulama Uçtan Uca Dağıtım Arşivi

Depoda prod dalındaki dosyaları --format=tar ve --output=dagitim.tar seçenekleriyle prod dalını referans vererek paketle. Ardından tar -tf dagitim.tar ile arşivin içindeki dosyaları listele.

Başlangıç kodu

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "console.log('sunucu hazir');" > server.js
git add server.js
git commit -q -m "Sunucu hazirlandi"
git branch prod

git checkout -q -b test
echo "gecici test" > test.txt
git add test.txt
git commit -q -m "Test dosyasi"

# Dagitim paketini olustur ve listele:

Örnek çözüm

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "console.log('sunucu hazir');" > server.js
git add server.js
git commit -q -m "Sunucu hazirlandi"
git branch prod

git checkout -q -b test
echo "gecici test" > test.txt
git add test.txt
git commit -q -m "Test dosyasi"

git archive --format=tar --output=dagitim.tar prod
tar -tf dagitim.tar

Beklenen çıktı

server.js

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir üretim sunucusuna Git deposunu dağıtırken <code>git clone</code> yerine neden <code>git archive</code> tercih edilir?

  • Depo boyutunu artırıp sunucuyu hızlandırdığı için
  • Sunucuda Git kurulu olmasını zorunlu kıldığı için
  • .git geçmişini taşımadan yalın ve güvenli bir paket sağladığı için Doğru cevap
  • Yalnızca yerel ağda çalışan bir komut olduğu için

Açıklama: `git archive` ile oluşturulan paketlerde `.git` klasörü ve geçmiş bulunmaz; bu sayede hem dosya boyutu çok küçülür hem de hassas geçmiş verileri sunucuya gereksiz yere taşınmaz.

2 Dağıtım Paketini Oluştur

Soru
git archive --format=tar --output=app.tar ____
Cevap
git archive --format=tar --output=app.tar prod

Açıklama: `prod` dalını tar olarak arşivlemek için komutun sonuna doğrudan dal adı verilir.

3 Archive Özellikleri

Kavram Anlamı
git archive Temiz kaynak paketi oluşturur
--format=zip Sıkıştırılmış zip çıktısı
--output Oluşturulacak dosya adı
prod Paketlenecek hedef dal

İleri seviye bölümündeki tüm dersler