git archive
- Git kursu
- İleri seviye
- Ders 29/56
- 4 dk
git archive ile depo arşivi oluşturmayı öğrenirsin.
git archive Nedir?
git archive, bir Git deposundaki belirli bir commit veya daldaki dosyaları sıkıştırılmış tek bir arşiv dosyası (tar veya zip) olarak dışa aktarır. Klonlamanın veya klasör kopyalamanın aksine, .git geçmiş klasörünü arşive dahil etmez.
git archive --output=proje.tar HEADBöylece yalnızca kaynak kodun temiz bir anlık görüntüsünü (snapshot) müşteriye veya sunucuya dağıtmak için ideal bir paket elde edersin.
Arşiv Çıktısı ve Hedef Dosya
Arşiv çıktısını belirlemek için --output (veya kısaca -o) seçeneği kullanılır. Dosya adının uzantısına göre Git arşiv formatını kendiliğinden tanıyabilir.
git archive -o proje.tar HEAD
git archive --output=kaynak.tar.gz HEADAyrıca --prefix=proje/ bayrağı eklenirse, arşiv açıldığında dosyalar doğrudan bir alt klasörün içine çıkarılır.
Uygulama HEAD Arşivi Oluştur
Depodaki son commit'i (HEAD) --output=surum.tar parametresi ile arşivle. Ardından tar -tf surum.tar komutuyla arşiv içeriğini listele.
Başlangıç kodu
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "v1.0.0" > surum.txt
git add surum.txt
git commit -q -m "Ilk surum"
# HEAD arsivini olustur ve icerigini listele:Örnek çözüm
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "v1.0.0" > surum.txt
git add surum.txt
git commit -q -m "Ilk surum"
git archive --output=surum.tar HEAD
tar -tf surum.tarBeklenen çıktı
surum.txt
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>git archive</code> komutunun düz bir klasör kopyasından temel farkı nedir?
- .git geçmişini hariç tutarak temiz bir anlık görüntü üretmesi Doğru cevap
- Tüm dalları aynı anda arşivlemesi
- Uzak sunucudaki depoyu otomatik silmesi
- Yalnızca .git klasörünü dışa aktarması
Açıklama: `git archive`, depodaki `.git` dizinini ve taahhüt geçmişini hariç tutarak sadece o anki dosyaların temiz bir snapshot paketini oluşturur.
2 HEAD Commitini Arşivle
git archive --output=yedek.tar ____
git archive --output=yedek.tar HEAD
Açıklama: Son commit içeriğini arşivlemek için hedef referans olarak HEAD belirtilir.
3 Arşiv Temelleri
| Kavram | Anlamı |
|---|---|
git archive |
Depo anlık görüntüsünü paketler |
HEAD |
Arşivlenecek güncel commit |
--output |
Çıktı dosya yolunu belirler |
.git klasörü |
Arşiv dosyasına eklenmez |