git fast-export

الإدارة

تصدير السجل كتدفق نصي بصيغة fast-import


يكتب الأمر 'git fast-export' سجل الفروع كتدفق نصي: كل نسخة ملف (blob) مع علامة، وكل commit يشير إليها. يمكن تحرير التدفق أو ترشيحه أو تمريره إلى git fast-import (أو نظام تحكم بالإصدارات آخر) لإعادة بناء السجل — وهو أساس كثير من أدوات الترحيل وإعادة الكتابة.

الصيغة

git fast-export [--all] [<rev-list-options>...]
[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار

الخيارات

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

مبتدئ (1)

تصدير كل فرع ووسم.

موصى بهتصدير المستودع كاملًا

مثال

git fast-export --all

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

نقل السجل

تدفق أم 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 في التدفق، لتتمكن المُدخلات اللاحقة من الإشارة إليه.