كيفية استخدام الأسماء المستعارة لـ Git: 10 أمثلة أساسية

Git هي أداة شائعة وقوية ، وربما أكثر أنظمة التحكم في الإصدارات نجاحًا على الإطلاق. تتضح قوة Git من مجموعة الأوامر الخاصة بها. وهو يتألف حاليًا من حوالي 150 أمرًا ، من حالة git العامة إلى معرف git-get-tar-الالتزام الغامض. مع كل أمر يدعم مجموعة الخيارات الخاصة به ، هناك قدر مذهل يجب تذكره.

لحسن الحظ ، لدى Git طريقة لتبسيط الأمور. يمكن أن يعمل الاسم المستعار Git كاختصار لأي أمر فرعي ، مع أي مجموعة من الخيارات. باستخدام الأوامر الخارجية ، يمكنك استخدام دعوات أكثر قوة. فيما يلي 10 من أكثر الأسماء المستعارة المفيدة التي يمكنك إعدادها.

كيفية تعيين الاسم المستعار

يعد تعيين الاسم المستعار أمرًا بسيطًا مثل اتباع هذا النمط:

 git config --global alias.co 'checkout'

يعيّن الخيار – global الاسم المستعار لجميع استخدامات Git بواسطة المستخدم الحالي. لجعل اسم مستعار ينطبق على جميع مستخدمي النظام ، استخدم –system بدلاً من ذلك. لإضافة اسم مستعار خاص بالمستودع الحالي ، استخدم –local .

إذا كنت تعرف مكان ملف التكوين ، فيمكنك تحريره مباشرة. تكوين النظام في موقع عالمي ، عادةً / usr / local / etc / gitconfig . سيعيش التكوين الخاص بالمستخدم في ملف في دليلك الرئيسي مثل ~ / .gitconfig . التكوين المحلي موجود داخل كل مستودع نفسه ، في ملف .git / config .

راجع أيضًا: كيفية تثبيت وتكوين Git على Linux

1. اسم مستعار لتبديل الفروع بسرعة

اعتمادًا على سير العمل الخاص بك ، يمكنك تبديل الفروع عدة مرات خلال كل جلسة عمل. لتخفيف قدر ضئيل من الجهد وممارسة أبسط أنواع الأسماء المستعارة ، جرب ما يلي:

 alias.co 'checkout'

ستنتقل كتابة git co feature1 الآن إلى فرع feature1 . يعمل الاسم المستعار على اختصار اسم الأمر الفرعي ، والذي يستمر في العمل مع الوسائط الإضافية.

2. عرض الحالة المكثفة

بشكل افتراضي ، يُنتج الأمر git status إخراجًا مطولًا. يشرح الحالة بالتفصيل ، بمعلومات مفيدة لأي شخص ليس على دراية بـ Git. ومع ذلك ، إذا كنت تريد توفير بعض المساحة وكنت معتادًا بالفعل على مصطلحات Git ، فقد ترغب في إعداد اسم مستعار لإصدار أقصر:

 alias.st status -sb

هذا مجرد اختلاف بسيط جدًا في حالة git ، لكن الخيار -s ينتج مخرجات قصيرة مما يجعل الأمور أكثر إيجازًا. سيستغرق الأمر شيئًا مثل حالة git الافتراضية هذه:

وأنتج هذا بدلاً من ذلك:

فرع يظهر خيار -B وتتبع المعلومات التي -s على خلاف ذلك قمع.

3. إظهار ملخص التسجيل

يقدم Git العديد من الطرق لفحص تاريخ المشروع عبر الأمر git-log . يمكنه تصفية الالتزامات التي يبلغ عنها ويمكنه عرض الكثير من البيانات المختلفة المرتبطة بكل التزام. ومع ذلك ، في بعض الأحيان ، تريد سجلاً مضغوطًا قدر الإمكان. يوفر خيار –oneline هذا ، ولكنه أسرع كثيرًا في تسميته ، نظرًا لأنه قد تستخدمه كثيرًا:

 alias.ll 'log --oneline'

يقدم الناتج التزامًا واحدًا لكل سطر ، مع عنوان رسالة الالتزام ، وتجزئة مختصرة. تبدو هكذا:

4. التراجع عن التغيير الأخير

يعد الأمر git reset ذو قيمة ، ولكنه ليس أسهل ما يمكن فهمه. في بعض الأحيان ، تريد فقط التراجع البسيط الذي يؤدي إلى إرجاع آخر التزام. يضمن الخيار –soft أن يقوم Git بإزالة آخر الالتزام فقط ، دون تغيير أي شيء يتعلق بالملفات المحلية في شجرة العمل الخاصة بك. HEAD ~ 1 هي ببساطة طريقة للإشارة إلى الالتزام قبل HEAD.

 alias.undo 'reset --soft HEAD~1'

5. سجل الالتزام الأخير

إذا كنت تلتقط مشروعًا من اليوم السابق ، فقد يكون من المفيد فحص الالتزام الأخير. باستخدام الاسم المستعار لسجل git ، يمكنك الحصول على تقرير سريع ومفصل عن آخر التزام:

 alias.last 'log -1 HEAD --stat'

يطلب الخيار -1 HEAD ببساطة الالتزام الأخير و –stat يسرد الملفات التي تأثرت بالعملية ، مع عدد الأسطر التي تم إدراجها وحذفها لكل منها.

6. التزام سهل الطلقة الواحدة

ربما تجد نفسك تضيف الملفات وتلتزم بها في الخطوة التالية كثيرًا إلى حد ما. ما لم يكن سير عملك أكثر تعقيدًا ، فقد ترغب في تبسيط هذه العملية باستخدام اسم مستعار:

 alias.ac '!git add -A && git commit'

لا تتطلب المكونات الفردية الكثير من الشرح ، بصرف النظر عن الإشارة إلى أن الخيار -A الذي تم تمريره إلى git-add سوف يقوم تلقائيًا بتحديث الفهرس بحيث تتطابق جميع الملفات مع نسخة العمل. يقدم خدمات حذف الملفات وتعديلها وإنشاءها.

الشيء المثير للاهتمام الذي يجب ملاحظته حول هذا الاسم المستعار هو أنه يجمع بين أمرين. يفعل ذلك باستخدام ! الرمز كأول حرف من الاسم المستعار. هذا يخبر Git أن ما يلي هو أمر shell خارجي وليس أمرًا فرعيًا.

7. تنسيق فرع فاخر

أمر آخر يتمتع بقدر كبير من المرونة ، يمكن لـ git-Branch تنسيق مخرجاته بعدة طرق تتجاوز الإعداد الافتراضي المتفرق.

 alias.br "branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate"

افحص التنسيق من البداية إلى النهاية. لاحظ أنه يتضمن الكثير من الحقول الخاصة. ٪ (HEAD) يضيف علامة النجمة بجانب الفرع الحالي.

تعد الأسماء المستعارة طريقة رائعة لتجربة تنسيق أوامر مثل git-Branch . ستعمل على تطوير التفضيلات بمرور الوقت ، لذا فإن تتبع الخيارات التي تنتج مخرجاتك المفضلة أمر لا بد منه.

8. تلخيص التغييرات من قبل المساهمين

مجموعة متنوعة من سجل git ، تجمع git-shortlog الالتزامات التي يعرضها المؤلف. يعد هذا مثاليًا لملاحظات الإصدار أو ببساطة مراقبة من قام بما حدث مؤخرًا.

بعض الخيارات تجعل ملخص المؤلف مناسبًا لجميع الأغراض ومثاليًا للاستخدام المنتظم عبر اسم مستعار. يعرض الخيار -e عناوين البريد الإلكتروني بالإضافة إلى الأسماء. ينتج عن الخيار –summary إجمالي عدد بدلاً من موضوع كل التزام. و- ترقيم أوامر الناتج النهائي بإجمالي عدد المساهمات. يمكنك استخدام هذا الاسم المستعار:

 alias.contrib 'shortlog -e --summary --numbered'

لإنتاج المخرجات التالية:

9. قائمة الفروع مرتبة حسب آخر تعديل

الآن لمزيد من العمل مع الفروع ، هذه المرة باستخدام أمر فرعي منخفض المستوى. هذا الاسم المستعار المعقد هو مثال آخر لأمر خارجي – خط أنابيب ، في هذه الحالة. أولاً ، يتكرر الأمر git-for-each-ref عبر جميع الفروع المعروفة. يقوم بذلك بترتيب التفويض وينسق الإخراج لإظهار ذلك التاريخ جنبًا إلى جنب مع تجزئة الالتزام. أخيرًا ، يستخدم sed لإزالة المراجع / الرؤوس / من اسم كل فرع.

 alias.b '!git for-each-ref --sort="-authordate" --format="%(authordate)%09%(objectname:short)%09%(refname)" refs/heads | sed -e "s-refs/heads/--"'

راجع أيضًا: أمثلة Sed هذه ستجعلك مستخدمًا قويًا لنظام Linux

10. اسم مستعار لإظهار جميع الأسماء المستعارة

مع كل هذا الدعم للأسماء المستعارة ، من المدهش أن Git لا تقدم طريقة سهلة لعرض جميع الأسماء المستعارة التي قمت بإعدادها. لا تقلق ، على الرغم من ذلك ، يمكنك إصلاح ذلك باستخدام اسم مستعار! يسرد الأمر git config جميع التكوينات الحالية. يمكنك تصفية القيم باستخدام الخيار –get-regexp ، لذلك يمنحك الاسم المستعار التالي أمر git alias مفيدًا:

 alias.alias 'git config --get-regexp ^alias.'

وفر الوقت والإحباط مع الأسماء المستعارة لـ Git

توفر لك الأسماء المستعارة Git الوقت من خلال التخلص من الحاجة إلى كتابة أوامر طويلة ومعقدة. يحتوي Git على عدد كبير من الأوامر الفرعية ولكن من السهل إعادة استخدام الأسماء المستعارة والحفاظ عليها. يمكنك أيضًا تجميع الأسماء المستعارة في مشروعك عبر التكوين المحلي ، مما يتيح لك مشاركة الاختصارات والممارسات القياسية.

تمامًا مثل الأسماء المستعارة لنظام Linux ، تتيح لك الأسماء المستعارة لـ Git الكتابة أقل والقيام بالمزيد. حاول تجربة الأسماء المستعارة أعلاه ، واستكشف مجموعة أوامر Git الكاملة لترى ثروة الوظائف المتاحة.