---
title: Git Reset
localeTitle: غيت ريسيت
---
## غيت ريسيت

يسمح لك الأمر `git reset` رأسك الحالي إلى حالة محددة. يمكنك إعادة تعيين حالة ملفات محددة بالإضافة إلى فرع بأكمله.

### إعادة تعيين ملف أو مجموعة من الملفات

يتيح لك الأمر التالي اختيار أجزاء من المحتوى بشكل انتقائي والعودة أو إلغاء تثبيتها.

 `git reset (--patch | -p) [tree-ish] [--] [paths] 
` 

### قم بإلغاء تثبيت ملف

إذا قمت بنقل ملف إلى منطقة التدريج مع `git add` ، ولكن لم تعد ترغب في أن يكون جزءًا من التزام ، يمكنك استخدام `git reset` لإلغاء تثبيت هذا الملف:

 `git reset HEAD FILE-TO-UNSTAGE 
` 

ستظل التغييرات التي أجريتها في الملف ، وهذا الأمر يزيل فقط هذا الملف من منطقة التدريج الخاصة بك.

### إعادة تعيين فرع إلى ارتكاب مسبق

يقوم الأمر التالي بإعادة تعيين HEAD الفرع الحالي الخاص بك إلى `COMMIT` المعطى ويقوم بتحديث الفهرس. إنها ترجع بشكل أساسي حالة فرعك ، ثم تلتزم جميعًا بالتقدم في الكتابة على أي شيء جاء بعد نقطة إعادة التعيين. إذا حذفت الدالة `MODE` ، `--mixed` الافتراضي لها - `--mixed` :

 `git reset MODE COMMIT 
` 

الخيارات الخاصة بـ `MODE` هي:

*   `--soft` : لا يعيد ضبط ملف الفهرس أو شجرة العمل ، بل يعيد تعيين الرأس `commit` . يغير جميع الملفات إلى "التغييرات يجب الالتزام بها"
*   `--mixed` : إعادة تعيين الفهرس ولكن ليس شجرة العمل والتقارير ما لم يتم تحديثه
*   `--hard` : يعيد ضبط المؤشر وشجرة العمل. يتم تجاهل أي تغييرات على الملفات المتعقبة في شجرة العمل منذ `commit`
*   `--merge` : إعادة تعيين الفهرس وتحديث الملفات في شجرة العمل التي تختلف بين `commit` و HEAD ، ولكنها تحافظ على تلك التي تختلف بين الفهرس والشجرة العاملة
*   `--keep` : إعادة تعيين إدخالات الفهرس وتحديث الملفات في شجرة العمل التي تختلف بين `commit` و HEAD. إذا كان الملف المختلف بين `commit` و HEAD له تغييرات محلية ، يتم إحباط عملية إعادة التعيين

### معلومات اكثر:

*   [وثائق إعادة Git](https://git-scm.com/docs/git-reset)