45 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Git Reset
 | |
| localeTitle: غيت ريسيت
 | |
| ---
 | |
| ## غيت ريسيت
 | |
| 
 | |
| يسمح لك الأمر `git reset` رأسك الحالي إلى حالة محددة. يمكنك إعادة تعيين حالة ملفات محددة بالإضافة إلى فرع بأكمله.
 | |
| 
 | |
| ### إعادة تعيين ملف أو مجموعة من الملفات
 | |
| 
 | |
| يتيح لك الأمر التالي اختيار أجزاء من المحتوى بشكل انتقائي والعودة أو إلغاء تثبيتها.
 | |
| 
 | |
| ```shell
 | |
| git reset (--patch | -p) [tree-ish] [--] [paths]
 | |
| ``` 
 | |
| 
 | |
| ### قم بإلغاء تثبيت ملف
 | |
| 
 | |
| إذا قمت بنقل ملف إلى منطقة التدريج مع `git add` ، ولكن لم تعد ترغب في أن يكون جزءًا من التزام ، يمكنك استخدام `git reset` لإلغاء تثبيت هذا الملف:
 | |
| 
 | |
| ```shell
 | |
| git reset HEAD FILE-TO-UNSTAGE
 | |
| ``` 
 | |
| 
 | |
| ستظل التغييرات التي أجريتها في الملف ، وهذا الأمر يزيل فقط هذا الملف من منطقة التدريج الخاصة بك.
 | |
| 
 | |
| ### إعادة تعيين فرع إلى ارتكاب مسبق
 | |
| 
 | |
| يقوم الأمر التالي بإعادة تعيين HEAD الفرع الحالي الخاص بك إلى `COMMIT` المعطى ويقوم بتحديث الفهرس. إنها ترجع بشكل أساسي حالة فرعك ، ثم تلتزم جميعًا بالتقدم في الكتابة على أي شيء جاء بعد نقطة إعادة التعيين. إذا حذفت الدالة `MODE` ، `--mixed` الافتراضي لها - `--mixed` :
 | |
| 
 | |
| ```shell
 | |
| 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) |