Git restore
- استعادة الملفات في Git: دليل شامل للمبتدئين
مقدمة
تُعدّ Git نظام تحكم بالإصدار موزع، قوي وشائع الاستخدام لتتبع التغييرات في الملفات. أثناء العمل مع Git، قد تجد نفسك في مواقف تحتاج فيها إلى التراجع عن تغييرات قمت بها، سواء كانت تغييرات لم تلتزم بها بعد، أو تغييرات تم الالتزام بها بالفعل. أحد الأوامر المفيدة جدًا للتعامل مع هذه المواقف هو `git restore`. يهدف هذا المقال إلى تقديم شرح مفصل لأمر `git restore`، وكيفية استخدامه لاستعادة الملفات إلى حالاتها السابقة، مع التركيز على السيناريوهات الأكثر شيوعًا.
ما هو `git restore`؟
`git restore` هو أمر حديث نسبياً في Git (تم تقديمه في الإصدار 2.23)، وهو مصمم ليكون أكثر وضوحًا وبديلًا لأوامر مثل `git checkout` و `git reset` في بعض الحالات. بشكل عام، يسمح لك `git restore` بإعادة ملفات أو مجلدات إلى حالة سابقة، سواء من منطقة Staging Area أو من آخر Commit. يفصل هذا الأمر بين استعادة الملفات من منطقة التحضير (staging area) و التراجع عن الالتزامات (committing)، مما يقلل من الالتباس الذي قد يسببه `git checkout`.
سيناريوهات استخدام `git restore`
- **التراجع عن تغييرات غير ملتزم بها:** إذا قمت بإجراء تغييرات على ملف ولم تقم بإضافته إلى منطقة التحضير (staging area) بعد، يمكنك استخدام `git restore` للتراجع عن هذه التغييرات واستعادة الملف إلى حالته في آخر التزام.
- **إلغاء التغييرات في منطقة التحضير:** إذا أضفت ملفًا إلى منطقة التحضير (staging area) ثم قررت أنك لا تريد تضمين هذه التغييرات في الالتزام التالي، يمكنك استخدام `git restore` لإزالة الملف من منطقة التحضير.
- **استعادة ملف من التزام سابق:** يمكنك استخدام `git restore` لاستعادة إصدار سابق من ملف من التزام معين. هذا مفيد إذا أردت التراجع عن تغييرات تم الالتزام بها بالفعل.
طرق استخدام `git restore`
1. التراجع عن التغييرات غير الملتزم بها
للتراجع عن التغييرات في ملف واحد:
``` git restore <اسم_الملف> ```
مثال:
``` git restore index.html ```
سيؤدي هذا إلى استعادة `index.html` إلى حالته في آخر التزام.
للتراجع عن التغييرات في جميع الملفات غير الملتزم بها:
``` git restore . ```
2. إلغاء التغييرات في منطقة التحضير
لإزالة ملف من منطقة التحضير:
``` git restore --staged <اسم_الملف> ```
مثال:
``` git restore --staged styles.css ```
سيؤدي هذا إلى إزالة `styles.css` من منطقة التحضير، ولكن التغييرات ستظل موجودة في دليل العمل.
لإزالة جميع الملفات من منطقة التحضير:
``` git restore --staged . ```
3. استعادة ملف من التزام سابق
لإستعادة ملف من التزام معين، تحتاج إلى معرفة Hash الالتزام. يمكنك الحصول على ذلك باستخدام أمر `git log`.
``` git log ```
بعد الحصول على الـ Hash، استخدم الأمر التالي:
``` git restore --source=<Hash> <اسم_الملف> ```
مثال:
``` git restore --source=a1b2c3d4 index.html ```
سيؤدي هذا إلى استعادة `index.html` إلى حالته في الالتزام المحدد بواسطة `a1b2c3d4`.
الفرق بين `git restore` و `git checkout`
في الإصدارات القديمة من Git، كان `git checkout` يستخدم غالبًا لاستعادة الملفات. ومع ذلك، كان `git checkout` له استخدامات متعددة، مما قد يؤدي إلى الارتباك. `git restore` يركز بشكل خاص على استعادة الملفات، مما يجعله أكثر وضوحًا وسهولة في الاستخدام. `git checkout` لا يزال يستخدم لتغيير الفروع (branches).
الفرق بين `git restore` و `git reset`
`git reset` هو أمر أكثر قوة من `git restore`. `git reset` يمكنه التراجع عن التزامات متعددة، بينما `git restore` يركز على استعادة الملفات الفردية أو المجموعات الصغيرة من الملفات. استخدام `git reset` بشكل غير صحيح يمكن أن يؤدي إلى فقدان البيانات، لذا يجب استخدامه بحذر.
نصائح إضافية
- استخدم `git status` بشكل متكرر للتحقق من حالة دليل العمل ومنطقة التحضير.
- قبل استخدام `git restore`، تأكد من فهمك تمامًا للتغييرات التي ستقوم بها.
- يمكنك استخدام `git diff` لمراجعة التغييرات قبل استعادتها.
- تعرّف على أمر `git commit` و `git branch` و `git merge` و `git rebase` لفهم كامل لعملية التحكم بالإصدار.
استراتيجيات تداول الخيارات الثنائية ذات الصلة (للمبتدئين)
- استراتيجية مارتينجال
- استراتيجية المضاعفة
- استراتيجية المتوسط المتحرك
- استراتيجية بولينجر باند
- استراتيجية RSI
تحليل فني وتحليل حجم التداول (للمبتدئين)
- الشموع اليابانية
- خطوط الاتجاه
- مستويات الدعم والمقاومة
- مؤشر القوة النسبية (RSI)
- مؤشر المتوسط المتحرك البسيط (SMA)
- مؤشر المتوسط المتحرك الأسي (EMA)
- مؤشر الماكد (MACD)
- مؤشر ستوكاستيك
- تحليل حجم التداول
- مؤشر التوازن بين حجمي الشراء والبيع (OBV)
- مؤشر ADX
- نماذج الشموع الانعكاسية
- نماذج الشموع الاستمرارية
- نظرية إليوت الموجية
- مستويات فيبوناتشي
ملاحظة هامة: تداول الخيارات الثنائية ينطوي على مخاطر عالية. من الضروري فهم هذه المخاطر قبل البدء في التداول.
التحكم في الإصدار Git Branching Git Commit Git Log Git Status Git Diff Git Merge Git Rebase Git Staging Area Git Hash Git Configuration Git Ignore Git Remote Git Clone Git Push Git Pull Git Fetch Git Tag Git Submodule Git Attributes
[[Category:**الفئة:أنظمة التحكم بالإصدار**]
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين