git bundle
الإدارة
حزم الـ commits والفروع في ملف واحد
يحزم الأمر 'git bundle' الـ commits والفروع والوسوم في ملف واحد. يتصرف الملف كمستودع بعيد: يمكنك الاستنساخ منه أو الجلب منه. هكذا تنقل مستودعًا دون شبكة — على ذاكرة USB أو بالبريد أو إلى شبكة معزولة. الـ bundle التزايدي (A..B) يحمل الـ commits الأحدث فقط ويتطلب وجود الأقدم لدى المستقبِل.
الصيغة
git bundle create <file> <git-rev-list-args>
git bundle verify <file>
git bundle list-heads <file>
git bundle unbundle <file>[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار
الخيارات
اختيار الخيار المناسب
طرق نقل مستودع
مع الشبكة ودونها
| الأمر | يحتاج شبكة |
|---|---|
git push / git clone <url> | نعم |
git bundle + copy the file | No |
أمثلة
حزم فرع
git bundle create shop.bundle mainكل commits الفرع main.
الاستنساخ منه
git clone shop.bundle shopمستودع من الملف.
تزايدي
git bundle create update.bundle v1.0..mainالـ commits بعد v1.0 فقط.
أمثلة على سير العمل
1
git bundle create shop.bundle --allحزم كل شيء
2
git clone shop.bundle shopفكّه على الحاسوب الآخر
حل المشكلات
error: Repository lacks these prerequisite commits
السبب: الـ bundle تزايدي
احصل على bundle كامل، أو اجلب السجل الناقص أولًا
نصائح وأخطاء شائعة
أفضل الممارسات
- ✓شغّل git bundle verify قبل إرسال bundle.
أخطاء متكررة
- ✗إنشاء bundle تزايدي لشخص تنقصه الـ commits الأقدم — يخبرك verify بما هو مطلوب.
الأسئلة الشائعة
A:
قد يكون: git bundle create backup.bundle --all يلتقط كل فرع ووسم.