هذا هو الأمر git-clone-subset الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
git-clone-subset - استنساخ مجموعة فرعية من مستودع git
موجز
بوابة استنساخ فرعية [الخيارات] مستودع الوجهة دير النمط
الوصف
المستنسخات أ مستودع الى الوجهة دير ويعمل على الاستنساخ
طائرة نفاثة فرع التصفية - فارغة - مرشح شجرة 'شخص سخيف rm ... " -- --الكل
لتقليم جميع الملفات من السجل باستثناء تلك المطابقة النمط، مما يؤدي إلى إنشاء ملف
استنساخ مع مجموعة فرعية من الملفات (والتاريخ) للمستودع الأصلي.
مفيد لإنشاء مستودع جديد من مجموعة ملفات من مستودع آخر ،
يهاجرون (فقط) تاريخهم المرتبط. مشابه جدا لما
طائرة نفاثة فرع التصفية - دليل فرعي مرشح
يفعل ، ولكن لنمط ملف بدلاً من مجرد دليل واحد.
OPTIONS
-h, --مساعدة
عرض معلومات الاستخدام.
مستودع
URL أو المسار المحلي لمستودع git المراد استنساخه.
الوجهة دير
دليل لإنشاء الاستنساخ. تنطبق نفس قواعد git-clone: ستكون كذلك
تم إنشاؤه إذا لم يكن موجودًا ويجب أن يكون فارغًا بخلاف ذلك. ولكن ، على عكس git-
clone ، هذه الحجة ليست اختيارية: تستخدم git-clone عدة قواعد لتحديدها
اسم dir "إنساني" للريبو المستنسخ ، ومجموعة git-clone الفرعية لن تخاطر بالتحليل
ناتجها ، ناهيك عن التنبؤ بالاسم المختار.
النمط نمط الكرة الأرضية لمطابقة الملفات / dirs المرغوبة. سيتم تقييمه في النهاية بواسطة أ
call to bash، NOT git or sh، using extended glob '! ( )' القاعدة. اقتبسها أو
تخلص منه في سطر الأوامر ، لذلك لا يتم تقييمه قبل الأوان بواسطة
قذيفة الحالية. يُسمح بنمط واحد فقط: إذا كان مطلوبًا أكثر ، فاستخدم
extglob's "|" بناء الجملة. سيتم تقييم الكرات الأرضية باستخدام مجموعة bash's shopt dotglob ، لذلك
احذر. يجب ألا تحتوي الأنماط على مسافات أو أحرف خاصة مثل "'$ () {}` ،
ولا يتم الاقتباس منه أو الهروب منه ، لأن ذلك قد يتداخل مع بناء الجملة! () بعد
توسيع النمط.
أمثلة على الأنماط:
"*.بي إن جي"
"* .png | * icon *"
"* .h | src / | lib"
القيود
لا يتم اتباع عمليات إعادة التسمية. كحل بديل ، قم بإدراج سجل إعادة التسمية باستخدام "سجل git --follow
--name-status --format = '٪ H' - ملف | grep "^ [RAD]" "وتضمين جميع الأسماء المتعددة لملف
ملف في النمط ، كما في "Currentname | oldname | initialname". كتأثير جانبي ، إذا أ
ملف مختلف باسم قديم ، وسيتم الاحتفاظ به أيضًا ، وليس هناك
طريقة حول هذا باستخدام هذه الأداة.
لا توجد طريقة (سهلة) للاحتفاظ ببعض الملفات في مسار: استخدام "dir / foo *" لأن النمط لن يفعل ذلك
الشغل. لذا احتفظ بالدير بالكامل وقم بإزالة الملفات بعد ذلك ، باستخدام git filter-Branch و a
(معقد جدًا) مزيج من الاستنساخ والإضافة عن بُعد وإعادة الأسس وما إلى ذلك.
مطابقة الأنماط محدودة للغاية ، والعديد من عمليات الهروب والاقتباس الخاصة بباش لا تعمل
بشكل صحيح عندما يتم توسيع النمط بالداخل! ().
استخدم git-clone-subset عبر الإنترنت باستخدام خدمات onworks.net