← man/dev_and_programming
git-upload-archive — man git-upload-archive — 80×24
ugur@toprak:~/man/dev_and_programming$man git-upload-archive
Bölüm 1 Geliştirme & Programlama

git-upload-archive

Arşivi git-archive komutuna geri gönder

Sözdizimi

       git upload-archive <repository>

Açıklama

git archive --remote tarafından çağrılır ve Git protokolü üzerinden oluşturulan bir arşivi karşı uca gönderir.

Bu komut genellikle son kullanıcı tarafından doğrudan çağrılmaz. Protokolün kullanıcı arayüzü git archive tarafındadır ve bu program çifti, uzak bir depodan arşiv almak için kullanılmak üzere tasarlanmıştır.

Güvenlik

Geçmişten kaldırılmış ancak henüz temizlenmemiş (pruned) olabilecek nesnelerin gizliliğini korumak amacıyla git-upload-archive, deponun referanslarından (refs) erişilemeyen commit'ler ve ağaçlar (trees) için arşiv sunmaktan kaçınır. Ancak, nesne erişilebilirliğini hesaplamak işlem gücü açısından pahalı olduğundan, git-upload-archive daha katı fakat kontrol edilmesi daha kolay bir kurallar kümesi uygular:

  1. İstemciler, doğrudan bir referans tarafından işaret edilen bir commit veya ağaç talep edebilir. Örneğin, git archive --remote=origin v1.0.

  2. İstemciler, referans:yol sözdizimini kullanarak bir commit veya ağaç içindeki bir alt ağacı talep edebilir. Örneğin, git archive --remote=origin v1.0:Documentation.

  3. İstemciler, nihai sonuç erişilebilir olsa bile diğer sha1 ifadelerini kullanamazlar. Örneğin, referanslardan erişilebilir olsa bile ne master^ gibi göreceli bir commit ne de abcd1234 gibi doğrudan bir sha1 ifadesi kullanılmasına izin verilmez.

Kural 3'ün, herhangi bir gizlilik etkisi olmayan birçok durumu da engellediğini unutmayın. Bu kurallar git'in gelecekteki sürümlerinde değişebilir ve git archive --remote tarafından erişilen sunucu bu kuralların birebir aynısını uygulayabilir veya uygulamayabilir.

Eğer uploadArchive.allowUnreachable yapılandırma seçeneği true ise, bu kurallar yoksayılır ve istemciler rastgele sha1 ifadeleri kullanabilir. Erişilemeyen nesnelerin gizliliğini önemsemiyorsanız veya nesne veritabanınız zaten akıllı olmayan HTTP (non-smart-http) üzerinden erişime açık durumdaysa bu seçenek kullanışlıdır.

Seçenekler

Tar arşivinin alınacağı depo.

Git

git(1) paketinin bir parçasıdır

Git 2.50.1.428.g0e8243 2025-07-22 GIT-UPLOAD-ARCHIVE(1)