هي العديد من الأدوات الأخرى والمكونات الإضافية الملحمية لإدارة السنانير GIT. لكن Githooks تقدم:
githooks tool name-of-the-tool .علاوة على ذلك ، يمكن استخدامه مع أدوات التحقق من صحة JavaScript مثل Typicode/Husky إذا كان لديك مشاريع هجينة.
composer require --dev wtyd/githooks ملاحظة: بالنسبة لـ PHP <8.1 ، يجب عليك إضافة حدث post-update-cmd التالي إلى قسم scripts في composer.json :
"scripts" : {
"post-update-cmd" : [
" Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
]
} ثم قم بتشغيل composer update wtyd/githooks .
حتى الإصدار 2.3.0 ، كانت الطريقة المستخدمة هي php72orminorupdate ولكن تم إهمالها وسيتم إزالتها من الإصدار 3.0.0
من المريح أيضًا إضافته إلى حدث post-install-cm حتى لا يواجه مطورو المشروع مشاكل في الإنشاء
"scripts" : {
"post-update-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions " ,
"post-install-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
}githooks conf:init . يقوم هذا الأمر بإنشاء ملف التكوين في مسار الجذر ( githooks.yml ). githooks hook . يقوم بنسخ البرنامج النصي لإطلاق githooks على حدث ما قبل الالتزام في دليل .git/hooks . يمكنك أيضًا تشغيل githooks hook otherHook MyScriptFile.php لتعيين أي خطاف مع برنامج نصي مخصص. انظر الويكي لمزيد من المعلومات. للتأكد من تكوينه تلقائيًا ، يمكننا تكوين الأمر في أحداث post-update-cmd وأحداث post-install-cmd في ملف composer.json (قسم scripts ):
"scripts" : {
"post-update-cmd" : [
" vendor/bin/githooks hook " // or "vendor/bin/githooks hook pre-commit MyScriptFile.php"
],
"post-install-cmd" : [
" vendor/bin/githooks hook "
]
}عند الالتزام ، يتم تشغيل جميع أدوات فحص التعليمات البرمجية المكوّنة تلقائيًا. إذا اجتاز الكود الخاص بك جميع الشيكات ، فإن Githooks يتيح لك الالتزام. إذا لم يكن الأمر كذلك ، يجب عليك إصلاح الرمز والمحاولة مرة أخرى:
يمكنك أيضًا تشغيل githooks وقتما تشاء. جميع الأدوات في نفس الوقت أو واحد تلو الآخر:
githooks tool all # Run all tools
githooks tool phpcs # Run only phpcsفي هذه اللحظة ، الأدوات المدعومة هي:
ولكن يمكنك تعيين البرنامج النصي الخاص بك على أي خطاف git.
يتم تقسيم ملف githooks.yml على ثلاثة أجزاء:
يمثل علامة execution كيفية تشغيل githooks:
full (الخيار الافتراضي): ينفذ دائمًا جميع الأدوات التي يتم تعيينها مقابل كل المسار الذي تم تعيينه لكل أداة. على سبيل المثال ، قمت بتخصيص PHPCs للتشغيل في أدلة src و app . يحتوي الالتزام فقط على ملفات معدلة من دليل database . ستتحقق PHPCS من أدلة src و app حتى لو لم يتم تعديل أي ملفات في هذه الدلائل.fast : يقوم هذا الخيار بتشغيل الأدوات فقط مقابل الملفات المعدلة عن طريق الالتزام.githooks.yml أو في ملف التكوين الخاص بـ eath tool لأن هذا الخيار يكتب paths الرئيسية للأدوات بحيث يتم تنفيذها فقط مقابل الملفات المعدلة. قم بتشغيل أدوات متعددة في عمليات متعددة في نفس الوقت ( tool all Command). العدد الافتراضي للعمليات هو 1.
إنها صفيف يحمل اسم الأدوات التي سيتم تشغيل Githooks. اسم الأدوات قابلة للتنفيذ. إذا كنت تريد تنفيذ جميع الأدوات ، فسيكون مفتاح Tools كما يلي:
Tools :
- phpstan
- security-checker
- parallel-lint
- phpcs
- phpcbf
- phpmd
- phpcpdالترتيب الذي تكون فيه الأدوات هو الترتيب الذي سيتم فيه تنفيذها.
في الخطوة التالية ، يجب عليك تكوين الأدوات بنفس الاسم كما في مفتاح الأدوات . على سبيل المثال ، لمجموعة phpcs:
phpcs :
executablePath : vendor/bin/phpcs
paths : [src, tests]
ignore : [vendor]
standard : ' PSR12 'جميع الخيارات المتاحة موجودة في الويكي.
المساهمات من الآخرين ستكون موضع تقدير كبير! إرسال طلب السحب/المشكلة. تحقق من جميع خطوات القيام بذلك في قسم الويكي للمساهمة. شكرًا!
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.