اكتشف من يعمل على ما مع أداة GIT المفيدة هذه

ملخص
يوفر Git-Who رؤى شاملة قائمة على المؤلفين بدلاً من تأليف خط تلو الآخر.
يمكنك استخدام Git-Who لتحديد كبار المساهمين ، وعرض التسلسل الهرمي للمشروع ، وتتبع المساهمات مع مرور الوقت.
يوفر Git-Who خيارات لتخصيص إخراجها وتصفية نتائجها واستبعاد Merge Commits للحصول على إحصائيات دقيقة.
اللوم GIT مفيد ، لكنه يخبرك فقط عن تأليف خط على حدة. عندما تريد نظرة عامة شاملة على المؤلف لمشاريعك المفتوحة المصدر ، جرب هذه الأداة بدلاً من ذلك.
ما هو Git-Who و كيف يختلف عن اللوم؟
جيت هو أمر GIT مخصص يعرض معلومات مفيدة ومثيرة للاهتمام حول مؤلفي Commits في مستودع. يمكنك استخدامه لاكتشاف من قام بتحديث الكود مؤخرًا ، والتي ساهم بها المؤلفون بشكل عام ، والذي يعمل على المكونات الفرعية المحددة.
على الرغم من أن أمر GIT المدمج في GIT يمكن أن يخبرك عن مؤلفي الخطوط الفردية للرمز ، فإن GIT-WHO يعطي تفاصيل حول الملفات والدلائل والمشاريع بأكملها.

متعلق ب
كيفية عرض الالتزام بالتاريخ مع سجل git
ترتفع GIT Tracks بمرور الوقت ، مما يتيح لك متابعة تقدم وتاريخ الكود الخاص بك.
Git-Who يعتمد على الطرفي ، ولكنه ينتج إخراجًا جذابًا يمكن قراءته من خلال عرض بياناته في الجداول وتمييزها بالألوان.
كيفية تثبيت واستخدام git-who
أسهل طريقة لتثبيت Git-Who مع مدير الحزمة Homebrew:
brew install git-who
من السهل أيضًا تثبيت البرنامج من المصدر أو يمكنك تنزيل ثنائي مسبق من إصدارات المشروع صفحة.
بمجرد التثبيت ، يمكنك تشغيله باستخدام جيت أو غيت في دليل مستودع GIT:
تأكد من أن الثنائي git-who في طريقك ، خاصة إذا قمت بإنشائه من المصدر. القيام بذلك سيسمح لك باستخدام غيت شكل الأمر.
هذا العرض الافتراضي هو القالب الفرعي للجدول. هذا يوضح ملخصًا رائعًا لأهم المساهمين ، إلى جانب آخر تحريرهم وعدد الالتزامات الإجمالية. Git-Who يدعم اثنين من الأوامر الأخرى: Tree و Hist.
يوضح المجموعة الفرعية للشجرة التسلسل الهرمي الكامل للمستودع ، مع المساهم الأعلى إلى جانب كل دليل ، يليه إجمالي ارتباطاتها.
المفصل الفرعي الثالث هو Hist ، لـ “التاريخ”. يعرض هذا العرض جدولًا زمنيًا للمساهمات حسب التاريخ ، مما يتيح لك تتبع المساهمين في المشروع مع مرور الوقت:
هذا أيضًا رسم بياني ، بحيث يمكنك اكتشاف الفترات بسرعة أكبر.
قد تستغرق بعض الأوامر وقتًا طويلاً لإكمالها ، لا سيما في مستودع كبير مثل kernel Linux. لتسريعها ، حاول تصفية النتائج باستخدام الخيارات المتقدمة لـ Git-Who.
الميزات المتقدمة من git-who
كل من اللوائح الفرعية لـ GIT-Who له افتراضات معقولة ، لكن سترى نتائج مختلفة تمامًا اعتمادًا على حجم وهيكل مستودعك. على سبيل المثال ، الجري الشجرة git-who في مستودع ضخم سوف ينتج العديد من خطوط الإخراج.
يدعم برنامج Git-Who عدة خيارات لمساعدتك على تعديل سلوكه وإخراجه. تتيح لك جميع اللوائح الفرعية للاستخدام -مؤلف لتضمين مؤلفين محددين فقط و -مؤلف لاستبعادهم. كما يقبلون -خيارات -و -حتى للحد من الإخراج حسب التاريخ:
من المهم أن نلاحظ أن إحصائيات Git-Who لا تتضمن Commits Merge افتراضيًا. هذا يمكن أن يحدث فرقًا كبيرًا ، اعتمادًا على كيفية إدارة المستودع. على سبيل المثال ، Linus Torvalds مفقود بشكل واضح من احصائيات مستودع Linux الخاص به:
ولكن ، بصفته مشرفًا عامًا ، يتعامل Torvalds مع عدد كبير من الدمج ، وهو إلى حد بعيد هو أكبر مساهم عند أخذ الدمج في الاعتبار ، باستخدام خيار -merges:
تخصيص الجدول git-who
الجدول الافتراضي فرز حسب إجمالي الالتزامات. يمكنك تغيير هذا إلى فرز المؤلفين من خلال التزامهم الأخير باستخدام خيار -M:
يركز خيار -L على الخطوط التي تم تغييرها بدلاً من الالتزامات. يتم فرزها بالخطوط التي تم تغييرها ويظهر عدد الملفات التي تم تغييرها ، وعدد الخطوط المضافة ، والخطوط المحذوفة:
يمكنك أيضًا فرز الإخراج عن طريق الملفات التي تم تغييرها باستخدام -f أو عن طريق التغيير الأول مع -C.
تخصيص Git-Who Tree
أول شيء قد ترغب في القيام به مع Tree هو الحد من عمقها. إذا كان المستودع الخاص بك يحتوي على العديد من الملفات والأدلة ، فإن الأمر الافتراضي Tree سيؤدي إلى إنشاء الكثير من الإخراج. يتيح لك خيار -D تحديد العمق ، حتى تتمكن من عرض معلومات المؤلف فقط للحصول على أدلة المستوى الأعلى ، على سبيل المثال:
سيختار خيار -L المؤلف مع تم تغيير معظم الخطوط بدلاً من الخطر الذي يحتوي على معظم الالتزامات. يشرح كل ملف ودليل مع عدد الخطوط التي أضافها كل مؤلف وإزالتها في تلك المرحلة:
تخصيص git-who hist
يحتوي المفوض الفرعي Hist بالفعل على ميزة مدمجة أنيقة ، حيث يتم اختيار عرض يوم أو شهر أو عام بناءً على عمر المستودع:
الخيارات – -و -حتى تعمل بشكل جيد مع HIST ، لتقييد الفترة التي تقاريرها.
هذه الخيارات مرنة للغاية في التنسيق الذي يقبلونه ، لذا حاول التجربة. على سبيل المثال ، كل هذه يجب أن تعمل:
–2010
–since = “2010-09-01 12:00:00”
–الأمس
—“منذ 3 أسابيع”
—since = “24 فبراير”