انتقل إلى المحتوى

مذكرات تعلم Git

التثبيت والتكوين

قم بتحميل الحزمة من هنا: git-scm.com/downloads

التكوين:

git config --global user.name "اسم المستخدم"
git config --global user.email "البريد الإلكتروني@example.com"

الأوامر الأساسية

العمليات الأساسية

  1. التنقل إلى المجلد المستهدف: cd git-learning
  2. بدء مستودع Git: git init
  3. نقل الملفات الموجودة أو المضافة من منطقة العمل إلى منطقة الاستعداد:
    • git add . : لإضافة جميع الملفات في منطقة العمل
    • git add xxx.xx : لإضافة ملف واحد
  4. تنفيذ تحديثات إلى فرع منطقة الاستعداد: git commit -m "الوصف"
  5. التبديل إلى نسخة محددة: git reset --hard معرف_التعديل

الأوامر الشائعة

  • عرض التعديلات (يمكن استخدامها فقط عندما تكون الملفات في منطقة العمل): git diff
  • عرض حالة المستودع: git status
  • عرض سجل التعديلات (حسب ترتيب التعديل): git log ، اضغط q للخروج
  • عرض سجل الأوامر (سجل جميع التسجيلات): git reflog

المستودع البعيد

تحويل المشروع المحلي إلى مشروع بعيد

يُستخدم عندما يكون لديك ملفات مشروع محلي موجودة بالفعل.

  1. إنشاء مفتاح SSH: ssh-keygen -t rsa -C "البريد_الإلكتروني@مثال.com"
    • قم بتغييره إلى عنوان بريدك الإلكتروني واضغط Enter ببساطة.
  2. قم بالانتقال إلى إعدادات الشخصية - المفاتيح SSH وGPG على GitHub وأضف مفتاح SSH جديد.
    • قم بإعطاء اسم أي واحد واستخدم المحتوى الموجود في ملف id_rsa.pub كقيمة للمفتاح.
  3. قم بإنشاء مستودع جديد على GitHub ولا تحدد "Initialize this repository with a README".
    • إذا قمت بالخطأ بتهيئة المستودع، ستحتاج أولاً إلى الانتقال إليه: git pull origin master
  4. انسخ عنوان SSH (مثال: git@github.com:linyuxuanlin/git-learning.git) وقم بتشغيل الأمر التالي في المستودع المحلي: git remote add origin git@server-name:user/repo-name.git
  5. قم برفع المحتوى المحلي إلى المستودع البعيد: git push -u origin master
    • عندما تظهر رسالة تأكيد، ادخل "نعم" واضغط Enter للمتابعة.
    • نظرًا لأن المستودع البعيد فارغ، فإننا في أول مرة نرفع فيها فرع master، سنستخدم خيار "-u"، حيث سيقوم Git بربط فرع master المحلي بفرع master البعيد، مما سيبسط الأوامر في المستقبل.
  6. في كل مرة تقوم فيها بعملية تحديث: git push origin master

تحويل المشروع البعيد إلى مشروع محلي

يُستخدم عند البدء من الصفر أو عند تطوير مشروع استنادًا إلى مشروع آخر.

  1. انسخ المستودع البعيد: git clone git@server-name:user/repo-name.git

إدارة الفروع

Here is the translation of the provided text into Arabic:

الفرع هو عبارة عن عالم موازي في أفلام الخيال العلمي. عندما تكون تعمل بجد أمام الكمبيوتر لتعلم Git، فإن نسخة أخرى منك تعمل بجد في عالم موازي لتعلم SVN.

إذا لم تتداخل العوالم الموازية، فليس لديها أي تأثير على حياتك الحالية. ولكن في وقت ما، تتلاقى العوالم الموازية، والنتيجة هي أنك ستتعلم Git وتتعلم SVN!

فما هو استخدام الفروع في الواقع؟ لنفترض أنك تخطط لتطوير ميزة جديدة، لكنها تحتاج إلى أسبوعين للانتهاء. في الأسبوع الأول، كتبت 50٪ من الشيفرة. إذا قمت بالتحميل الفوري، فإن السجل النصي الغير مكتمل سيجعل الآخرين غير قادرين على العمل. وإذا انتظرت حتى الانتهاء من كتابة الشيفرة بأكملها قبل التحميل، ستواجه مخاطر كبيرة بفقدان التقدم الذي تحققه يوميًا.

الآن، بوجود الفروع، ليس هناك ما يدعو للقلق. يمكنك إنشاء فرع خاص بك لا يمكن للآخرين رؤيته، والعمل بحرية على هذا الفرع. يمكنك القيام بالتحميل عندما تريد، وبعد الانتهاء من التطوير، يمكنك دمج الفرع بشكل مرة واحدة في الفرع الأصلي. بهذه الطريقة، تبقى عملك آمنًا ولا تؤثر على أعمال الآخرين.

![رسم توضيحي](https://media.wiki-power.com/img/20200217202649.png)

1. إنشاء فرع جديد والتبديل إليه: `git switch -c branch_name`
   - `-c` تعني إنشاء فرع والتبديل إليه
2. عرض الفرع الحالي: `git branch`
3. دمج محتوى الفرع الجديد في الفرع الرئيسي: `git merge branch_name`
   - يتعين عليك التبديل أولًا إلى الفرع الذي تريد دمجه، ثم استخدم الأمر للدمج (مثال: قم أولاً بالتبديل إلى الفرع الرئيسي ثم قم بتنفيذ الأمر أعلاه)
   - عندما لا يمكن لـ Git دمج الفروع تلقائيًا، يجب أن تقوم بحل الصراعات أولًا. بعد حل الصراعات، يمكنك القيام بالتحميل واكتمال الدمج
   - حل الصراع يعني تحرير الملفات التي أخفق Git في دمجها بشكل يدوي لتكون على النحو الذي نرغب فيه، ثم تنفيذ الرفع
4. حذف فرع معين: `git branch -d dev`
5. تعطيل وضع الدمج السريع: `git merge --no-ff -m "نص الالتزام" branch_name`
   - نظرًا لأن عملية الدمج هذه ستخلق الالتزام الجديد، يجب أن تضيف `-m` لكتابة وصف الالتزام
   - في وضع الدمج السريع، بعد حذف الفرع، ستفقد معلومات الفرع

## دليل رحلة استكشاف جيت هاب

بفضل منصة جيت هاب، يمكننا اكتشاف مشاريع مفتوحة المصدر متنوعة والمشاركة في بناء عالم مفتوح مع المطورين من جميع أنحاء العالم.  
عندما نجد مشروع مفتوح المصدر رائعًا، يمكننا أولاً عمل "فورك" إلى حساب جيت هاب الخاص بنا (لنحصل على حق القراءة والكتابة)، ثم نقوم بنسخه إلى الكمبيوتر الشخصي باستخدام SSH للقيام بالتطوير.  
عند الانتهاء من التطوير، يمكننا إرسال طلب دمج (Pull

```markdown
- [دليل Git - لياو شي فنغ](https://www.liaoxuefeng.com/wiki/896043488029600)
- [كيفية استخدام Git في إدارة الفروع في مشروع فعلي](https://blog.csdn.net/ShuSheng0007/article/details/80791849)
- [نموذج نجاح في إدارة الفروع في Git](https://nvie.com/posts/a-successful-git-branching-model/)
- [git-cheatsheet.pdf](https://github.com/linyuxuanlin/File-host/blob/main/software-development/git-cheatsheet.pdf)
- [كتاب Pro Git](https://git-scm.com/book/zh/v2)
- [دليل GitHub CLI](https://cli.github.com/manual/)
- [أكثر من 20 صورة رائعة تأخذك إلى عالم Git](https://mp.weixin.qq.com/s/oTtMQFEI9J5ymqt6SQ0PFg)

> عنوان النص: <https://wiki-power.com/>  
> يتم حماية هذا المقال بموجب اتفاقية [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by/4.0/deed.zh)، يُرجى ذكر المصدر عند إعادة النشر.
```

تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.