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 وإدارة المشاريع.