3.3 KiB
title | localeTitle |
---|---|
When to Undoredo | متى Undoredo |
ستحتاج عادة إلى UNDO / REDO عند ارتكاب بعض التغييرات في git ، وإدراك أن التغييرات تحتاج إلى إزالتها أو استعادتها. هذا أمر شائع جدًا في السيناريوهات على سبيل المثال ، عند إجراء تغيير مؤقت على بعض الملفات ، ونسي أن تعود إليهم ، ثم شرع في إضافتها لارتكاب الخطأ.
سير عمل UNDO / REDO:
بافتراض أنك أجريت بعض التغييرات وقدمت تعهدات مثل:
git commit -m "Commit 1 - Some changes to the code" git commit -m "Commit 2 - Some MORE changes to the code"
- (UNDO-ing): العودة إلى الوراء على آخر استعادة
git reset --soft HEAD~
- هل التغييرات.
- أضف ملفاتك إلى gath area
git add <filenames or paths>
أوgit add --all
- (REDO-ing): هل ارتكبت.
git commit -c ORIG_HEAD
orgit commit -C ORIG_HEAD
كيف يعمل هذا؟
الآن بعد أن عرفت أن التدفق يتيح فهم كيفية عمل ذلك خلف الكواليس.
Step 1
تعيد تعيين الالتزام الأخير أي"Commit 2 - Some MORE..."
إلى"Commit 1 - Some..."
ارتكاب.- في
Step 2
، تقوم بالتغييرات التي تراها مناسبة للملفات. - في
Step 3
، يمكنك إضافة الملفات التي تم تغييرها إلى منطقة التدريج إما بشكل انتقائي معgit add <filenames>
أو كافة الملفات معgit add --all
. - في الخطوة الأخيرة ، تلتزم بالتغييرات في منطقة التدريج.
ملاحظة: يمكنك استخدام -c
أو -C
. سيعمل المصغر -c
على فتح محرر لتعديل رسالة الالتزام ، وفي هذه الحالة سيتم Commit 2 - Some MORE...
يمكنك تحرير رسالة الالتزام كما تريد.
أو بدلاً من ذلك ، يمكنك استخدام -C
، حيث ستقوم بوابة git بتخطي نافذة المحرر وإعادة استخدام رسالة ارتكاب LAST التي هي مرة أخرى في هذه الحالة هي Commit 2 - Some MORE...
يُعرف إعادة استخدام رسالة الالتزام "نفسه" أيضًا بإعادة / إعادة الإلزام.
دون خشبة قبل ارتكاب
للتراجع عن التغيير الذي تم إجراؤه قبل الالتزام ، قم بتشغيل git reset <file>
أو git reset
لإلغاء تثبيت كافة التغييرات قبل الالتزام.
ملاحظة: في الإصدارات القديمة من git ، كانت الأوامر git reset HEAD <file>
و git reset HEAD
على التوالي. تم تغيير هذا في Git 1.8.2
بعض الحيل:
يمكنك العودة إلى أي عدد من git reset --soft HEAD~n
باستخدام git reset --soft HEAD~n
حيث تريد التراجع عن n
الأخيرة.