Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

دليل للمبتدئين في Git: الفرق بين git reset و git revert وكيفية استخدامهما

Ahmed Waheed

Ahmed Waheed

Updated on ديسمبر 6, 2024

هذا الدليل يشرح الفرق بين "git reset" و "git revert" بطريقة سهلة للمبتدئين في Git. سنراجع المفاهيم الأساسية لـ Git، وسنشرح بالتفصيل متى يجب استخدام كل أمر وفقًا للمواقف المختلفة.

المفاهيم الأساسية لـ Git

عند استخدام Git، من المهم فهم المفاهيم الأساسية أولاً. تأكد من معرفة المصطلحات الأساسية مثل الالتزام، المستودع، وشجرة العمل.

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

الالتزام ومعرف الالتزام

  • الالتزام: في Git، يُطلق على وحدة حفظ التغييرات اسم "الالتزام". يتم تعيين معرف فريد لكل التزام، مما يتيح تتبع سجل التغييرات السابق.

معرف الالتزام: يتم تعيين معرف (هاش) فريد لكل التزام. يتم استخدامه للإشارة إلى التزام معين.

# مثال للحصول على معرف الالتزام
git log --oneline

يمكنك بسهولة التحقق من معرف الالتزام باستخدام الأمر أعلاه.

المستودع وشجرة العمل

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

شرح "git reset"

كيفية الاستخدام الأساسية

"git reset" هو أمر يستخدم لتغيير سجل الالتزامات. حسب استخدامه، يمكن أن يغير سجل المستودع المحلي.

# إلغاء الالتزام الأخير وترك التغييرات في منطقة التهيئة
git reset --soft HEAD~1

# إلغاء الالتزام الأخير وترك التغييرات في شجرة العمل
git reset --mixed HEAD~1

# إلغاء الالتزام الأخير وحذف التغييرات
git reset --hard HEAD~1

الخيارات الأساسية

  • --soft: العودة إلى الالتزام المحدد وترك التغييرات في منطقة التهيئة.
  • --mixed: تترك التغييرات في شجرة العمل ويتم مسح منطقة التهيئة.
  • --hard: العودة بالكامل مع تضمين التغييرات وإعادة تعيين شجرة العمل.

استخدام المواقف والمزايا والعيوب

  • المزايا: من المفيد حذف الالتزامات الخاطئة أو السجلات غير الضرورية. يمكنك الحفاظ على السجل نظيفًا.
  • العيوب: استخدام الخيار --hard يحتاج إلى الحذر، حيث سيتم حذف التغييرات تمامًا.
# مثال: إعادة تعيين التغييرات بالكامل باستخدام git reset --hard
git reset --hard HEAD~2

هذا الأمر سيحذف آخر التزامين ويُلغي تغييرات دليل العمل.

شرح "git revert"

كيفية الاستخدام الأساسية

"git revert" هو أمر يقوم بإنشاء التزام جديد "يعيد" الالتزام المحدد. يمكنك إلغاء التغييرات السابقة بأمان دون تغيير السجل.

# إنشاء التزام جديد يعيد الالتزام المحدد
git revert <معرف الالتزام>

حول الالتزام الجديد

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

# مثال: لإلغاء التغييرات التي تحتوي على معرف الالتزام abc123
git revert abc123

استخدام المواقف والمزايا والعيوب

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

كيفية التفريق بين "git reset" و "git revert"

كيفية التفريق بين
زر

المواقف المناسبة

  • git reset: عندما تريد تغيير السجل في بيئة محلية، على سبيل المثال، عندما تريد حذف التزام خاطئ تمامًا.
# مثال: إلغاء آخر الالتزام وترك التغييرات في شجرة العمل
git reset --mixed HEAD~1
  • git revert: عندما تعمل مع مستودع عام أو مع مطورين آخرين، يمكنك استخدامه بأمان لإلغاء التغييرات دون تغيير السجل.
# مثال: لإلغاء عملية خاطئة على مستودع بعيد
git revert abc123

أفضل الممارسات في العمل

  • لا تستخدم git reset لإلغاء الالتزامات التي تم دفعها إلى البعد: عند استخدام git reset بعد الدفع إلى البعد، قد يؤثر ذلك على المطورين الآخرين. إذا كنت بحاجة لإلغاء التغييرات عن بُعد، يجب استخدام git revert.
  • قم بإلغاء التغييرات سريعًا: عند ملاحظتك لتغيير خاطئ، قم بإلغاءه مبكرًا لتجنب المشاكل في المستقبل.
  • تحقق دائمًا من الفرع الحالي والحالة قبل استخدام الأوامر: من المهم التحقق من الحالة الحالية باستخدام git status و git log قبل استخدام git reset أو git revert.
# التحقق من الفرع الحالي والحالة
git status
git log --oneline

الفصل العملي

طرق التعامل مع المواقف الشائعة

  • عند القيام بالتزام خاطئ: يمكنك استخدام git reset (مع --soft) للتصحيح أو إلغاء التغييرات باستخدام git revert.
# مثال: إلغاء الالتزام الأخير وتركه في منطقة التهيئة
git reset --soft HEAD~1
  • عند الرغبة في العودة إلى التزامات سابقة: يمكنك استخدام git reset (مع --hard) للعودة إلى التزام معين، أو استخدام git revert لإلغاء التزام سابق.
# مثال: العودة إلى الالتزام قبل اثنين
git reset --hard HEAD~2
  • كيفية تصحيح الأخطاء في مستودع عام: إذا قمت بعملية خاطئة في مستودع عام، استخدم git revert للتصحيح بأمان.
# مثال: تصحيح عملية خاطئة في مستودع بعيد
git revert abc123

زيادة الكفاءة: تحسين اختبارات API باستخدام Git و Apidog

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

إذا كنت تبحث عن حل لإدارة اختبارات API مبتكرة، فإن Apidog هو الخيار المثالي لزيادة كفاءة المشروع. تتكامل هذه الأداة تمامًا مع Git، مما يتيح لك تتبع حالات الاختبار وإدارة التغييرات. بالإضافة إلى ذلك، تدعم أتمتة الاختبارات والتعاون في الوقت الحقيقي، مما يسمح بالحفاظ على كفاءة عالية حتى مع التكرارات السريعة.

زر

يمكنك من خلال اختيار Apidog جعل عملية اختبار API أكثر ذكاءً وبساطة، مما يضمن نجاح المشروع.

إعداد فرع السبرينت

يمكنك من خلال Apidog التحقق من الفرع الحالي للمشروع وإحصائياته من خلال النقر على "الإعدادات" → "فرع السبرينت" في صفحة الإعدادات.

إعداد فرع السبرينت

تغيير اسم الفرع


لتغيير اسم الفرع، انقر على "تحرير" على الجانب الأيمن من الفرع، وأدخل اسم الفرع الجديد. يجب أن يكون الاسم الجديد غير مكرر مع أسماء الفروع الحالية!

تغيير اسم الفرع

أرشفة الفرع

عند أرشفة الفرع، يتم إخفاء هذا الفرع. يمكنك الوصول إلى الفرع بعد الأرشفة أو تغيير محتوياته، كما يمكنك إلغاء الأرشفة.

أرشفة الفرع
زر

الملخص

git reset وgit revert يمكن استخدامهما في مواقف مختلفة. استخدم git reset عندما ترغب في تغيير سجل المستودع المحلي، واستخدم git revert عندما ترغب في إلغاء التغييرات بأمان في مستودع عام. ابدأ من هنا لإتقان كيفية استخدام هذه الأوامر في Git.