مفاهيم متقدمة في Git: استكشاف الميزات والتقنيات القوية

Rebasing

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

مثال: لنفترض أن لديك فرع ميزة يسمى feature-branch وتريد دمج أحدث التغييرات من الفرع main. يمكنك استخدام الأمر التالي:

git checkout feature-branch  
git rebase main  

سيؤدي هذا إلى تطبيق الالتزامات من main الفرع على feature-branch. يجب حل أي تعارضات أثناء عملية تغيير العنوان الأساسي.

 

Stashing

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

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

git stash

بعد التبديل إلى الفرع الجديد ، يمكنك بعد ذلك تطبيق التغييرات المخبأة باستخدام:

git stash apply

 

Git Hooks

Git Hooks هي نصوص برمجية يتم تشغيلها بواسطة أحداث Git محددة ، مثل الالتزام المسبق وما بعد الالتزام والدفع المسبق وما إلى ذلك. فهي تسمح لك بأتمتة إجراءات معينة أو فرض قواعد محددة في سير عملك.

مثال: افترض أنك تريد تشغيل linter على التعليمات البرمجية الخاصة بك قبل الالتزام. يمكنك إنشاء برنامج نصي للربط المسبق يقوم بتشغيل linter ويمنع الالتزام في حالة وجود أي أخطاء في الفحص.

 

Git Submodule

Git Submodule تسمح لك بتضمين مستودع Git آخر كدليل فرعي داخل مستودعك الرئيسي. يكون هذا مفيدًا عندما يكون لديك مشروع يعتمد على مكتبات أو مكونات خارجية.

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

 

Git Revert and Git Reset

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

مثال: إذا كنت تريد التراجع عن الالتزام الأخير ، فيمكنك استخدامه git revert HEAD لإنشاء التزام جديد يلغي التغييرات التي تم إجراؤها في الالتزام الأخير. إذا كنت تريد تجاهل آخر التزام تمامًا ، يمكنك استخدامه git reset HEAD~1 لتحريك مؤشر الفرع للخلف بمقدار التزام واحد.

 

توفر هذه المفاهيم المتقدمة في Git قدرات قوية لإدارة المستودع الخاص بك بشكل فعال. إن فهم كيفية استخدامها ومتى يتم تطبيقها سيعزز بشكل كبير سير عمل Git وإدارة المشاريع.