git archive

الإدارة

تصدير ملفات commit كأرشيف zip أو tar


يكتب الأمر 'git archive' ملفات commit أو وسم أو فرع في أرشيف zip أو tar — دون السجل ودون مجلد .git. إنها الطريقة المعتادة لنشر إصدار للتنزيل. تتبع الصيغة امتداد ملف المخرجات، ويضع --prefix كل الملفات داخل مجلد.

الصيغة

git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [-o <file>] <tree-ish> [<path>...]
[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار

الخيارات

انقر على أي خيار لتوسيعه

مبتدئ (3)

كتابة الأرشيف في هذا الملف؛ تُؤخذ الصيغة من امتداده.

موصى بهكتابة الأرشيف في ملف

مثال

git archive -o shop.zip HEAD

وضع كل ملف تحت هذا المجلد داخل الأرشيف (اختمه بـ /).

موصى بهالفكّ في مجلد واحد مرتّب

مثال

git archive --prefix=shop-1.0/ -o shop.tar.gz v1.0

سرد الصيغ المتاحة.

عند الحاجةرؤية الصيغ المدعومة

مثال

git archive --list

اختيار الخيار المناسب

archive مقابل bundle

ملفات أم سجل؟

الأمريحتوييُستخدم لـ
git archiveملفات commit واحدالتنزيلات، النشر
git bundlecommits وفروعنقل مستودع دون اتصال

أمثلة

ضغط إصدار بـ zip

git archive -o shop-1.0.zip v1.0

ملفات v1.0 في ملف zip.


tar مع مجلد

git archive --prefix=shop/ -o shop.tar.gz HEAD

كل شيء داخل shop/.


مجلد واحد فقط

git archive -o docs.zip HEAD docs/

مجلد docs فقط.

أمثلة على سير العمل

1
git tag -a v1.0 -m "Release"

وسمه

2
git archive --prefix=shop-1.0/ -o shop-1.0.zip v1.0

تصديره

حل المشكلات

بعض الملفات مفقودة

السبب: الملفات غير المتتبَّعة أو المتجاهَلة لا تُؤرشف أبدًا

سجّلها، أو تحقّق من قواعد export-ignore في .gitattributes

نصائح وأخطاء شائعة

أفضل الممارسات

  • ✓أرشِف الوسوم لا الفروع، ليطابق التنزيلُ الإصدارَ.

أخطاء متكررة

  • ✗توقّع وجود السجل في الأرشيف — استخدم git bundle لنقل السجل.
  • ✗نسيان -o وملء الطرفية ببيانات ثنائية.

الأسئلة الشائعة

A:

نعم: وسمها export-ignore في .gitattributes.