git fast-export
الإدارة
تصدير السجل كتدفق نصي بصيغة fast-import
يكتب الأمر 'git fast-export' سجل الفروع كتدفق نصي: كل نسخة ملف (blob) مع علامة، وكل commit يشير إليها. يمكن تحرير التدفق أو ترشيحه أو تمريره إلى git fast-import (أو نظام تحكم بالإصدارات آخر) لإعادة بناء السجل — وهو أساس كثير من أدوات الترحيل وإعادة الكتابة.
الصيغة
git fast-export [--all] [<rev-list-options>...][ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار
الخيارات
اختيار الخيار المناسب
نقل السجل
تدفق أم bundle أم استنساخ
| الأمر | التنسيق |
|---|---|
git fast-export | تدفق نصي مقروء |
git bundle | حزمة ثنائية في ملف واحد |
git clone | مستودع كامل |
أمثلة
فرع واحد
git fast-export main > main.fiسجل main كنص.
كل شيء
git fast-export --all > repo.fiكل فرع ووسم.
نسخ مستودع
git fast-export --all | (cd ../copy && git fast-import)إعادة بناء السجل في مكان آخر.
أمثلة على سير العمل
1
git fast-export --all > repo.fiتصدير
2
othertool fast-import < repo.fiتقرأ معظم أنظمة التحكم بالإصدارات هذه الصيغة
حل المشكلات
الـ commits الموقّعة توقف التصدير
السبب: لا يمكن الاحتفاظ بالتواقيع في التدفق
أضف --signed-tags=strip (و--signed-commits=strip في إصدارات Git الأحدث)
نصائح وأخطاء شائعة
أفضل الممارسات
- ✓لإعادة كتابة السجل، فضّل git filter-repo على تحرير التدفق يدويًا.
أخطاء متكررة
- ✗تحرير التدفق يدويًا لإعادات كتابة كبيرة — استخدم git filter-repo المبني عليه.
الأسئلة الشائعة
A:
رقم مثل :3 يسمّي blob أو commit في التدفق، لتتمكن المُدخلات اللاحقة من الإشارة إليه.