---
title: Git Checkout
localeTitle: بوابة الخروج
---
## بوابة الخروج

يقوم الأمر `git checkout` بالتبديل بين الفروع أو استعادة ملفات شجرة العمل. هناك عدد من الخيارات المختلفة لهذا الأمر والتي لن يتم تغطيتها هنا ، ولكن يمكنك إلقاء نظرة عليها كلها في [وثائق Git](https://git-scm.com/docs/git-checkout) .

### الخروج التزام محدد

للخروج من التزام معين ، قم بتشغيل الأمر:

 `git checkout specific-commit-id 
` 

يمكننا الحصول على رقم تعريف الالتزام المحدد عن طريق تشغيل:

 `git log 
` 

### الخروج فرع موجود

للتحقق من فرع موجود ، قم بتشغيل الأمر:

 `git checkout BRANCH-NAME 
` 

بشكل عام ، لن تسمح لك Git بالتسجيل في فرع آخر ما لم يكن دليل عملك نظيفًا ، لأنك ستفقد أي تغييرات في دليل العمل غير ملتزم بها. لديك ثلاثة خيارات للتعامل مع تغييراتك: 1) قم بسحبها ، 2) [ارتكابها](https://guide.freecodecamp.org/git/git-commit/) ، أو 3) [خبأتها](https://guide.freecodecamp.org/git/git-stash/) .

### الخروج فرع جديد

لإنشاء فرع جديد بأمر واحد والخروج منه ، يمكنك استخدام:

 `git checkout -b NEW-BRANCH-NAME 
` 

سيؤدي هذا إلى تبديلك تلقائيًا إلى الفرع الجديد.

### الخروج فرع جديد أو إعادة تعيين فرع إلى نقطة البداية

يشبه الأمر التالي التحقق من فرع جديد ، ولكنه يستخدم علامة `-B` (لاحظ علامة captional B) ومعلمة `START-POINT` اختيارية:

 `git checkout -B BRANCH-NAME START-POINT 
` 

إذا كان `BRANCH-NAME` غير موجود ، فسيقوم Git بإنشائه وبدء تشغيله عند `START-POINT` . إذا كان `BRANCH-NAME` موجودًا بالفعل ، فعندئذٍ يقوم Git بإعادة تعيين الفرع إلى `START-POINT` . هذا يعادل تشغيل `git branch` مع `-f` .

### فرض على Checkout

يمكنك تمرير الخيار `-f` أو `--force` باستخدام أمر `git checkout` لإجبار Git لتحويل الفروع ، حتى إذا كان لديك تغييرات غير مرتبة (بمعنى آخر ، يختلف فهرس شجرة العمل عن `HEAD` ). في الأساس ، يمكن استخدامه لرمي التغييرات المحلية.

عند تشغيل الأمر التالي ، سيتجاهل Git الإدخالات غير المدمجة:

 `git checkout -f BRANCH-NAME 
 
 # Alternative 
 git checkout --force BRANCH-NAME 
` 

### التراجع عن التغييرات في دليل العمل الخاص بك

يمكنك استخدام أمر `git checkout` للتراجع عن التغييرات التي أجريتها على ملف في دليل العمل. سيؤدي هذا إلى إعادة الملف إلى الإصدار في `HEAD` :

 `git checkout -- FILE-NAME 
`