أفضل دروس Git

Git هو نظام تحكم في الإصدار موزع مفتوح المصدر تم إنشاؤه في 2005 بواسطة Linus Torvalds وآخرين من مجتمع تطوير Linux. يمكن أن يعمل Git مع العديد من أنواع المشاريع ، ولكنه أكثر شيوعًا لاستخدامه في التعليمات البرمجية المصدر للبرنامج.

التحكم في الإصدار هو نظام يتتبع التغييرات على ملف أو مجموعة ملفات بمرور الوقت. عندما يكون لديك محفوظات لهذه التغييرات ، فإنه يتيح لك العثور على إصدارات محددة لاحقًا ، ومقارنة التغييرات بين الإصدارات ، واستعادة الملفات التي ربما تكون قد حذفتها ، أو إعادة الملفات إلى الإصدارات السابقة.

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

عندما تتم تهيئة Git في دليل المشروع ، فإنه يبدأ في تتبع تغييرات الملف وتخزينها على أنها "مجموعات تغيير" أو "تصحيحات". يقوم المستخدمون الذين يعملون معًا في مشروع بإرسال مجموعات التغيير الخاصة بهم والتي يتم تضمينها (أو رفضها) بعد ذلك في المشروع.

يحتوي freeCodeCamp على قائمة تشغيل على YouTube بها الكثير من نصائح Git و GitHub العملية هنا.

دروس أخرى:

  • كتاب Pro Git ، كتبه سكوت شاكون وبن ستراوب ونشرته أبرس. يتم عرض الكتاب بالكامل في وثائق Git.
  • للتنزيلات والوثائق والبرامج التعليمية المستندة إلى المستعرض: موقع Git الرسمي
  • معظم الأوامر المفيدة عندما تكون في حالة سيئة من الجهاز الهضمي: أوه ، *** ، بوابة!

افهم الأقسام الثلاثة لمشروع Git

سيتكون مشروع Git من الأقسام الثلاثة التالية:

  1. دليل Git
  2. دليل العمل (أو شجرة العمل)
  3. منطقة التدريج

و جيت دليل (الموجود في YOUR-PROJECT-PATH/.git/) هو المكان بوابة مخازن كل ما يحتاج إلى تتبع بدقة المشروع. يتضمن هذا البيانات الوصفية وقاعدة بيانات الكائنات التي تتضمن إصدارات مضغوطة من ملفات المشروع.

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

في منطقة التدريج هو ملف (وتسمى أيضا "مؤشر"، "المرحلة"، أو "مخبأ") الذي يقوم بتخزين المعلومات حول ما سوف تذهب إلى حسابك في ارتكاب المقبل. الالتزام هو عندما تطلب من Git حفظ هذه التغييرات المرحلية. يأخذ Git لقطة من الملفات كما هي ويخزن هذه اللقطة بشكل دائم في دليل Git.

مع ثلاثة أقسام ، هناك ثلاث حالات رئيسية يمكن أن يوجد بها الملف في أي وقت: ملتزم أو معدل أو مرحلي. يمكنك تعديل ملف في أي وقت تقوم فيه بإجراء تغييرات عليه في دليل العمل الخاص بك. بعد ذلك ، يتم تنظيمه عند نقله إلى منطقة التدريج. أخيرًا ، يتم الالتزام به بعد الالتزام.

قم بتثبيت Git

  • أوبونتو: sudo apt-get install git
  • Windows: تنزيل
  • Mac: تنزيل

تكوين بيئة Git

لدى Git git configأداة تسمح لك بتخصيص بيئة Git الخاصة بك. يمكنك تغيير طريقة ظهور Git ووظائفه من خلال تعيين متغيرات تكوين معينة. قم بتشغيل هذه الأوامر من واجهة سطر الأوامر على جهازك (Terminal في Mac أو موجه الأوامر أو Powershell في Windows).

هناك ثلاثة مستويات حيث يتم تخزين متغيرات التكوين هذه:

  1. النظام: موجود في /etc/gitconfig، يطبق الإعدادات الافتراضية على كل مستخدم للكمبيوتر. لإجراء تغييرات على هذا الملف ، استخدم --systemالخيار مع git configالأمر.
  2. المستخدم: موجود في ~/.gitconfigأو ~/.config/git/config، يطبق الإعدادات على مستخدم واحد. لإجراء تغييرات على هذا الملف ، استخدم --globalالخيار مع git configالأمر.
  3. المشروع: موجود في YOUR-PROJECT-PATH/.git/config، يطبق الإعدادات على المشروع فقط. لإجراء تغييرات على هذا الملف ، استخدم git configالأمر.

إذا كانت هناك إعدادات تتعارض مع بعضها البعض ، فستتجاوز التكوينات على مستوى المشروع تلك على مستوى المستخدم ، وستتجاوز التكوينات على مستوى المستخدم الإعدادات على مستوى النظام.

ملاحظة لمستخدمي Windows: يبحث Git عن ملف التكوين على مستوى المستخدم ( .gitconfig) في $HOMEدليلك ( C:\Users\$USER). يبحث Git أيضًا /etc/gitconfig، على الرغم من أنه متعلق بجذر MSys ، وهو المكان الذي تقرر فيه تثبيت Git على نظام Windows عند تشغيل برنامج التثبيت. إذا كنت تستخدم الإصدار 2.x أو أحدث من Git for Windows ، فهناك أيضًا ملف تكوين على مستوى النظام في C:\Documents and Settings\All Users\Application Data\Git\configWindows XP ، وفي C:\ProgramData\Git\configWindows Vista والإصدارات الأحدث. لا يمكن تغيير ملف التكوين هذا إلا بواسطة git config -f FILEمشرف.

أضف اسمك والبريد الإلكتروني

يتضمن Git اسم المستخدم والبريد الإلكتروني كجزء من المعلومات الموجودة في الالتزام. ستحتاج إلى إعداد هذا ضمن ملف التكوين على مستوى المستخدم باستخدام الأوامر التالية:

git config --global user.name "My Name" git config --global user.email "[email protected]"

تغيير محرر النص الخاص بك

يستخدم Git تلقائيًا محرر النصوص الافتراضي الخاص بك ، ولكن يمكنك تغيير ذلك. إليك مثال لاستخدام محرر Atom بدلاً من ذلك ( --waitيخبر الخيار shell بانتظار محرر النصوص حتى تتمكن من القيام بعملك فيه قبل أن ينتقل البرنامج):

git config --global core.editor "atom --wait"

أضف اللون إلى Git Output

يمكنك تكوين غلافك لإضافة لون إلى إخراج Git باستخدام هذا الأمر:

git config --global color.ui true

لمشاهدة جميع إعدادات التكوين الخاصة بك ، استخدم الأمر git config --list.

تهيئة Git في مشروع

بمجرد تثبيت Git وتكوينه على جهاز الكمبيوتر الخاص بك ، ستحتاج إلى تهيئته في مشروعك لبدء استخدام صلاحيات التحكم في الإصدار. في سطر الأوامر ، استخدم cdالأمر للانتقال إلى مجلد المستوى الأعلى (أو الجذر) لمشروعك. بعد ذلك ، قم بتشغيل الأمر git init. يؤدي هذا إلى تثبيت مجلد دليل Git يحتوي على جميع الملفات والكائنات التي يحتاجها Git لتتبع مشروعك.

من المهم أن يتم تثبيت دليل Git في المجلد الجذر للمشروع. يمكن لـ Git تتبع الملفات في المجلدات الفرعية ، لكنه لن يتتبع الملفات الموجودة في مجلد رئيسي بالنسبة إلى دليل Git.

احصل على المساعدة في Git

إذا نسيت كيفية عمل أي أمر في Git ، فيمكنك الوصول إلى تعليمات Git من سطر الأوامر بعدة طرق:

git help COMMAND git COMMAND --help man git-COMMAND

يعرض هذا الصفحة اليدوية للأمر الموجود في نافذة shell. للتنقل ، قم بالتمرير باستخدام مفاتيح الأسهم لأعلى ولأسفل أو استخدم اختصارات لوحة المفاتيح التالية:

  • fأو spacebarإعادة الصفحة
  • b للعودة إلى الصفحة
  • q ليستقيل

الفرق بين Git و GitHub

Git و Github شيئان مختلفان. Git هو نظام التحكم في الإصدار ، بينما GitHub هي خدمة لاستضافة مستودعات Git التي تساعد الأشخاص على التعاون في كتابة البرامج. ومع ذلك ، غالبًا ما يتم الخلط بينهم بسبب أسمائهم المتشابهة ، بسبب حقيقة أن GitHub يبني فوق Git ، ولأن العديد من مواقع الويب والمقالات لا تجعل الفرق بينهما واضحًا بدرجة كافية.

Git ليس GitHub

شخص سخيف

Git هو نظام التحكم في الإصدار الموزع. Git مسؤول عن تتبع التغييرات التي تطرأ على المحتوى - عادةً ما تكون ملفات التعليمات البرمجية المصدر.

لمزيد من المعلومات ، يوجد مقال كامل حول Git نفسها.

جيثب

GitHub هي خدمة توفر استضافة مستودع Git. هذا يعني أنهم يقدمون حلاً جاهزًا لاستضافة مستودعات Git على خوادمهم. يمكن أن يكون ذلك مفيدًا للاحتفاظ بنسخة احتياطية من المستودع الخاص بك (يتتبع Git فقط التغييرات التي تم إجراؤها على ملفاتك بمرور الوقت ؛ لا يزال المستودع بحاجة إلى النسخ الاحتياطي) ، ولديك مكان مركزي للاحتفاظ بالرمز الخاص بك ومشاركته مع الآخرين.

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

GitHub ليس الوحيد الذي يقدم هذا النوع من الخدمة. أحد منافسيها الرئيسيين هو GitLab. لمزيد من المعلومات حول هذا الموضوع ، انظر إلى القسم الخاص باستضافة Git.

كيفية المصادقة مع GitHub باستخدام SSH

تحقق من عدم وجود rsaملفات هنا قبل المتابعة ، استخدم:

ls -al ~/.ssh

إذا لم يكن هناك ما يسرد (على سبيل المثال : No such file or directory) ، فاستخدم:

mkdir $HOME/.ssh

إذا لم يكن هناك شيء ، فقم بإنشاء keygen جديدًا باستخدام:

ssh-keygen -t rsa -b 4096 -C [email protected]

الآن باستخدام ls -al ~/.sshسوف تظهر id_rsa.pubملفنا.

أضف مفتاح SSH إلى وكيل SSH:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

أضف مفتاح RSA إلى SHH باستخدام:

ssh-add ~/.ssh/id_rsa

انسخ مفتاحك إلى الحافظة

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

انتقل إلى صفحة إعدادات GitHub الخاصة بك وانقر فوق الزر "New SSH key" والصق المفتاح الذي تم إنشاؤه.

ثم المصادقة مع:

ssh -T [email protected]