Git revert

From binaryoption
Revision as of 22:35, 23 April 2025 by Admin (talk | contribs) (@pipegas_WP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1

Git Revert: دليل شامل للمبتدئين

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

ما هو Git Revert؟

`git revert` هو أمر Git يستخدم لإنشاء تعهد (commit) جديد يعكس التغييرات التي أدخلها تعهد سابق. بمعنى آخر، فإنه يلغي تأثير التعهد المحدد دون تعديل سجل التعهدات (commit history). هذا يختلف عن `git reset`، الذي يقوم بتعديل سجل التعهدات، وهو ما قد يكون له آثار جانبية غير مرغوب فيها، خاصة عند العمل مع فروع (branches) مشتركة مع متعاونين آخرين.

متى تستخدم Git Revert؟

  • عند العمل على فروع مشتركة: إذا كنت تعمل على فرع مشترك مع آخرين، فإن `git revert` هو الخيار الأفضل للتراجع عن تغييرات. هذا لأنه لا يعيد كتابة السجل، وبالتالي لا يسبب مشاكل للمستخدمين الآخرين الذين قد يكونون قد بنوا أعمالهم على التعهدات التي تحاول التراجع عنها.
  • عندما تريد الحفاظ على سجل كامل للتغييرات: `git revert` يحافظ على سجل كامل للتغييرات التي تم إجراؤها على المشروع، بما في ذلك التراجع عن التغييرات. هذا يمكن أن يكون مفيدًا لأغراض التدقيق (auditing) أو لتتبع تطور المشروع.
  • عندما يكون التعهد الذي تريد التراجع عنه قد تم دمجه بالفعل: إذا كان التعهد الذي تريد التراجع عنه قد تم دمجه بالفعل في فرع رئيسي (مثل `main` أو `master`)، فإن `git revert` هو الطريقة الوحيدة للتراجع عنه بأمان.

كيفية استخدام Git Revert

بناء الجملة الأساسي لأمر `git revert` هو:

``` git revert <تعهد_ID> ```

حيث `<تعهد_ID>` هو معرّف التعهد الذي تريد التراجع عنه. يمكنك العثور على هذا المعرّف باستخدام أمر `git log`.

مثال:

للتراجع عن التعهد ذي المعرف `a1b2c3d4e5f6`, يمكنك تشغيل الأمر التالي:

``` git revert a1b2c3d4e5f6 ```

سيفتح Git عادةً محرر نصوص (مثل Vim أو Nano) ليسمح لك بتحرير رسالة التعهد للتراجع. يمكنك ترك الرسالة الافتراضية أو كتابة رسالة أكثر وصفية. بعد حفظ الرسالة وإغلاق المحرر، سينشئ Git تعهدًا جديدًا يعكس التغييرات التي أدخلها التعهد الأصلي.

خيارات Git Revert

  • `git revert -n <تعهد_ID>`: هذا الخيار يخبر Git بإنشاء التعهد للتراجع دون تنفيذه على الفور. هذا مفيد إذا كنت تريد تجميع عدة تراجعات في تعهد واحد.
  • `git revert --no-commit <تعهد_ID>`: هذا الخيار يخبر Git بإنشاء التغييرات للتراجع ولكن لا يلتزم بها تلقائيًا. هذا يسمح لك بإجراء تعديلات إضافية قبل الالتزام بالتراجع.
  • `git revert -e <تعهد_ID>`: يفتح محرر النصوص للسماح لك بتحرير رسالة التعهد للتراجع.

مثال عملي

لنفترض أن لديك سجل تعهدات بسيطًا كالتالي:

سجل التعهدات
الرسالة | إضافة ميزة جديدة | إصلاح خطأ | إضافة اختبارات |

إذا أردت التراجع عن التعهد `a1b2c3d` (إضافة ميزة جديدة)، يمكنك تشغيل الأمر:

``` git revert a1b2c3d ```

سينشئ Git تعهدًا جديدًا يعكس التغييرات التي أدخلها `a1b2c3d`. سيكون سجل التعهدات الآن كالتالي:

سجل التعهدات بعد التراجع
الرسالة | إضافة ميزة جديدة | التراجع عن إضافة ميزة جديدة | إصلاح خطأ | إضافة اختبارات |

لاحظ أن التعهد الأصلي `a1b2c3d` لا يزال موجودًا في السجل، ولكن تم إضافة تعهد جديد (`x9y8z7a`) يعكس تأثيره.

Git Revert مقابل Git Reset

| الميزة | Git Revert | Git Reset | |---|---|---| | تعديل السجل | لا | نعم | | الأمان على الفروع المشتركة | آمن | غير آمن | | الحفاظ على السجل الكامل | نعم | قد لا يكون | | الاستخدام | للتراجع عن تعهدات تم دمجها أو على فروع مشتركة | لتعديل سجل التعهدات المحلي |

استراتيجيات التداول والتحليل الفني ذات الصلة

روابط مفيدة

الخلاصة

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

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер