التراجع عن التغييرات محليًا
تعلّم طرقًا مختلفة للتراجع عن التغييرات المحلية أو إعادة ضبطها، بما في ذلك إخراج الملفات من منطقة التهيئة وتعديل الالتزامات السابقة
التراجع عن التغييرات محليًا درس مجاني في Git & GitHub Professional Workflow على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Git & GitHub Professional Workflow، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
عفوًا! التراجع عن التغييرات المحلية
هل سبق أن ارتكبتم خطأً أو غيّرتم رأيكم أثناء العمل على مشروع؟ لا تقلقوا، فهذا يحدث للجميع!
يوفّر Git أدوات قوية للتراجع عن التغييرات في المستودع المحلي لديكم. سيوضح لكم هذا الدرس كيفية التراجع بأمان عن التعديلات غير المرغوب فيها.
ابدؤوا دائمًا باستخدام `git status`
قبل التراجع عن أي شيء، من الضروري معرفة الحالة الحالية لمستودعكم. يُعد الأمر git status أفضل وسيلة لذلك.
فهو يخبركم بالملفات المعدّلة، أو الموجودة في منطقة التجهيز (والجاهزة لإنشاء commit)، أو غير المتتبعة.
git statusإزالة ملف من منطقة التجهيز
أحيانًا تضيفون ملفًا إلى منطقة التجهيز باستخدام git add، ثم تدركون أنكم لا تريدون تضمينه في commit التالي.
يمكنكم إزالة الملف من منطقة التجهيز، وإعادته إلى حالة التعديل (خارج منطقة التجهيز)، باستخدام git restore --staged <file>.
git add my_feature.js
git status
git restore --staged my_feature.js
git statusالتراجع عن تغييرات دليل العمل (ملف)
ماذا لو عدّلتم ملفًا في دليل العمل لديكم، لكنكم لم تضيفوه إلى منطقة التجهيز، وأردتم الآن التراجع عن هذه التغييرات بالكامل؟
سيعيد الأمر git restore <file> ذلك الملف إلى حالته عند آخر commit، مما يؤدي فعليًا إلى حذف تعديلاتكم المحلية.
echo "new content" > index.html
git status
git restore index.html
git statusالتراجع عن جميع التغييرات غير المحفوظة في commit
كونوا حذرين عند استخدام هذا الأمر! إذا أردتم التراجع عن جميع التغييرات في دليل العمل لديكم التي لم تُحفظ في commit بعد، يمكنكم استخدام git restore .
سيعيد هذا الأمر جميع الملفات المعدّلة في الدليل الحالي والأدلة الفرعية التابعة له إلى حالتها عند آخر commit. وستُفقد الملفات الموجودة خارج منطقة التجهيز!
echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git statusتعديل رسالة آخر commit
هل ارتكبتم خطأً مطبعيًا في رسالة آخر commit؟ أو نسيتم ذكر تفاصيل مهمة؟
يمكنكم تعديل رسالة آخر commit باستخدام git commit --amend. يفتح هذا الأمر محرر النصوص الافتراضي لديكم لتعديل الرسالة.
git commit --amend -m "Updated commit message with fix"استخدام التعديل لإضافة الملفات الناقصة
هل نسيتم تضمين ملف في آخر commit؟ لا مشكلة!
أضيفوا الملف أو الملفات المنسية إلى منطقة التجهيز باستخدام git add، ثم استخدموا git commit --amend --no-edit. يضيف هذا الملفات الموجودة في منطقة التجهيز إلى commit السابق من دون تغيير رسالته.
git add new_script.py
git commit --amend --no-editلماذا يُفضّل استخدام `git restore`
قد تصادفون أدلة قديمة تقترح استخدام git reset HEAD <file> لإزالة الملفات من منطقة التجهيز، أو git checkout -- <file> للتراجع عن التغييرات.
على الرغم من أن هذه الأوامر تؤدي الغرض، فإن git restore هو الأمر الأحدث والأوضح، وقد قُدّم لجعل هذه العمليات أكثر وضوحًا وأمانًا. وقد صُمّم خصيصًا للتراجع عن التغييرات.
تجميع المفاهيم: سيناريو
تخيّلوا أنكم عدّلتم config.json، ثم أضفتموه إلى منطقة التجهيز، وبعد ذلك أدركتم أنكم ارتكبتم خطأً وتريدون التراجع عن التغيير بالكامل.
- أولًا، أزيلوا الملف من منطقة التجهيز.
- ثم أعيدوه إلى آخر نسخة محفوظة في commit.
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git statusاختبار سريع: التراجع
لقد عدّلتم data.csv في دليل العمل لديكم، لكنكم لم تضيفوا هذه التغييرات إلى منطقة التجهيز. وقررتم التراجع عن هذه التعديلات بالكامل وإعادة data.csv إلى حالته عند آخر commit.
مراجعة: إتقان التراجع
أحسنتم! تعلّمتم كيفية التراجع بأمان عن التغييرات المحلية في Git:
- استخدموا
git statusلعرض التغييرات الحالية. - استخدموا
git restore --staged <file>لإزالة الملفات من منطقة التجهيز. - استخدموا
git restore <file>للتراجع عن تغييرات دليل العمل لملف واحد. - استخدموا
git restore .للتراجع عن جميع تغييرات دليل العمل الموجودة خارج منطقة التجهيز (استخدموه بحذر!). - استخدموا
git commit --amendلإصلاح رسالة آخر commit أو إضافة الملفات الناقصة.
تُعد هذه الأوامر ضرورية للحفاظ على سجل مشروع نظيف ودقيق!
الأسئلة الشائعة
هل درس «التراجع عن التغييرات محليًا» مجاني؟
نعم — نص درس «التراجع عن التغييرات محليًا» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Git & GitHub Professional Workflow، انتقل إلى CoddyKit PRO. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
ماذا ستتعلم في «التراجع عن التغييرات محليًا»؟
تعلّم طرقًا مختلفة للتراجع عن التغييرات المحلية أو إعادة ضبطها، بما في ذلك إخراج الملفات من منطقة التهيئة وتعديل الالتزامات السابقة تتمرن على Git & GitHub Professional Workflow مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Git & GitHub Professional Workflow؟
لا تُشترط خبرة سابقة. Git & GitHub Professional Workflow على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التراجع عن التغييرات محليًا»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Git & GitHub Professional Workflow هذا؟
نعم. كل درس في Git & GitHub Professional Workflow يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التهيئة والالتزام والسجل
- التراجع عن التغييرات محليًا
- أساسيات الفروع والدمج
- تخزين العمل قيد التقدّم