fbpx

ما هو GitHub؟

Inc,GitHub. هي خدمة استضافة إنترنت لتطوير البرامج والتحكم في الإصدار باستخدام Git.

يوفر Version Control الموزع من Git بالإضافة الى:

  • Access control
  • Bug tracking
  • Software feature requests
  • Task management
  • Continuous integration
  • Wikis for every project

ما هو Version Control؟

ساعد Version Control المطورين على تتبع التغييرات التي تطرأ على التعليمات البرمجية لمشروع البرنامج وإدارتها.

مع نمو مشروع برمجي، يصبح Version Control ضروريا.

خذ WordPress

في هذه المرحلة، يعد WordPress مشروعا كبيرا.

إذا أراد مطور أساسي العمل على جزء معين من WordPress، فلن يكون من الآمن أو الفعال أن يقوم بتحرير شفرة المصدر “official” مباشرة.

بدلا من ذلك، يتيح Version Control للمطورين العمل بأمان من خلال التفريع والدمج.

باستخدام التفريع، يقوم المطور بتكرار جزء من شفرة المصدر (يسمى repository).

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

بعد ذلك، بمجرد أن يحصل المطور على جزء من الشفرة يعمل بشكل صحيح، يمكنه دمج هذه الشفرة مرة أخرى في شفرة المصدر الرئيسية لجعلها رسمية.

ثم يتم تتبع كل هذه التغييرات ويمكن التراجع عنها إذا لزم الأمر.

لماذا يعد Version Control مفيدا للترميز؟

عند إنشاء البرامج، يقوم المطورون بتحديث التعليمات البرمجية بشكل متكرر وفي وقت واحد لإضافة ميزات وإصلاح الأخطاء.

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

بدلا من ذلك، يعمل المطورون مع نسخهم الخاصة من التعليمات البرمجية، ثم – بعد اختبار الشفرة بدقة – أضف هذه التعليمة البرمجية إلى قاعدة التعليمات البرمجية الرئيسية.

هذا يبدو جيدا.

ولكن مع وجود العديد من المساهمين، يمكن أن تصبح الأمور فوضوية بسرعة.

هذا صحيح بشكل خاص إذا لم تكن هناك طريقة لدمج مساهمات الجميع في قاعدة تعليمات برمجية واحدة أو معرفة من ساهم في التغييرات.

يجب أيضا تتبع كل تغيير وتخزينه.

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

هذا هو ل Git.

عندما يرغب مطور البرامج في إجراء تغيير على أحد البرامج، فإنه:

  • قم بتنزيل نسختهم من شفرة المصدر من موقع التخزين المركزي (يسمى repository) إلى نظامهم المحلي
  • إجراء تعديلات بأمان على نسختها
  • دمج نسختها المنقحة مرة أخرى مع الملفات المصدر في repository
  • إضافة تعليقات إجراء تغييرات كمجموعة، وليس فقط تغييرات فردية محددة.

هذا مفيد عند استكشاف أخطاء المشاريع المعقدة وإصلاحها.

كيف يعمل GitHub؟

 يقوم مستخدمو GitHub بإنشاء حسابات وتحميل الملفات وإنشاء مشاريع ترميز.

لكن العمل الحقيقي ل GitHub يحدث عندما يبدأ المستخدمون في التعاون.

في حين يمكن لأي شخص الترميز بشكل مستقل، فإن فرق من الناس تبني معظم مشاريع التطوير.

في بعض الأحيان تكون هذه الفرق كلها في مكان واحد في نفس الوقت، ولكن في كثير من الأحيان تعمل بشكل غير متزامن.

هناك العديد من التحديات لإنشاء مشاريع تعاونية مع فرق موزعة.

يجعل GitHub هذه العملية أبسط بكثير بعدة طرق مختلفة.

أولا، جميع التعليمات البرمجية والوثائق في مكان واحد.

هذا يحد من مشكلات الوصول لأي شخص يريد المساهمة في مشروع.

يحتوي كل repository أيضا على إرشادات وتفاصيل أخرى للمساعدة في تحديد أهداف المشروع وقواعده.

بعد ذلك، يكون الترميز أكثر إبداعا وتجريدا مما يعتقد معظم الأشخاص غير التقنيين.

على سبيل المثال، لنفترض أن اثنين من المطورين يعملان على أجزاء مختلفة من التعليمات البرمجية.

يجب أن يعمل هذان الجزءان من التعليمات البرمجية معا.

ولكن في بعض الأحيان يمكن أن يؤدي جزء واحد من التعليمات البرمجية إلى فشل الشفرة الأخرى.

أو يمكن أن يكون لجزء من التعليمات البرمجية تأثير غير متوقع على كيفية عمل التعليمات البرمجية الأخرى.

يحل GitHub هذه المشكلات من خلال إظهار كيفية تغيير كلا الملفين للفرع الرئيسي.

يلتقط هذه الأخطاء قبل دفع التغييرات، مما يجعل عملية الترميز أكثر كفاءة.

يسهل GitHub أيضا تتبع التغييرات والعودة إلى الإصدارات السابقة من المشروع.

لماذا يستخدم GitHub؟

 يسمح GitHub لمطوري البرامج والمهندسين بإنشاء مستودعات عامة بعيدة على الاكلاود المجانان.

repository، أو باختصار “repo“، هو ملفات مشروع الترميز وسجل المراجعة لكل ملف.

بمجرد إعداد مستودع على GitHub، يمكنك نسخه إلى جهازك، وإضافة الملفات وتعديلها محليا، ثم “push” تغييراتك مرة أخرى إلى repository حيث يتم عرض تغييراتك للجمهور.

لماذا تفضل GitHub على التطوير باستخدام repository خاص؟ فيما يلي الأسباب الرئيسية التي تجعل GitHub لاعبا كبيرا:

تعزيز التعاون

أكبر نقطة بيع في GitHub هي مجموعة ميزات التعاون في المشروع، بما في ذلك التحكم في الإصدار والتحكم في الوصول.

إدارة الملفات بسهولة

يعني استخدام GitHub أنك لست مقيدا بجهاز أو بيئة واحدة.

يضيف GitHub طبقة واجهة مستخدم رسومية أنيقة (GUI) أعلى Git.

من تلقاء نفسها، تعمل Git من خلال سطر الأوامر (واجهة الحاسوب المستندة إلى النص).

يعرف المطورون كيفية استخدام سطر الأوامر، ولكن بالنسبة للكثيرين، فهي ليست دائما الطريقة الأكثر فعالية للتفاعل مع الملفات.

توفر واجهة GitHub طريقة نظيفة وسهلة للاستخدام وتنفيذ إجراءات Git بالإضافة إلى عرض محفوظات الملفات.

هذا أكثر ملاءمة للمطورين وأكثر سهولة للمبتدئين الذين يحصلون على تعليق Git.

فائدة أخرى تجعل GitHub أكثر سهولة في الوصول إليها هي بنيتها التحتية المستندة إلى الاكلاود.

يمكن لمستخدم GitHub الوصول إلى repository من أي مكان وأي جهاز، وتنزيل repository، ودفع تغييراته.

شبكات التواصل الاجتماعي

يعرف أي مستخدم GitHub أن النظام الأساسي هو أكثر من مجرد مكان للعمل على التعليمات البرمجية.

يمتلك جميع مستخدمي GitHub ملفات تعريف لعرض مشاريعهم ومساهماتهم وأنشطتهم على الموقع، ويمكنهم رؤية الملف الشخصي و repositories العامة لأي شخص.

تعد شبكة GitHub الاجتماعية أمرا بالغ الأهمية لنجاحها، لأنها تشجع المطورين على استكشاف المشاريع مفتوحة المصدر من جميع الأنواع والمساهمة فيها.

في السابق، كان يتعين على المتعاونين الطموحين الاتصال شخصيا بمالكي المشاريع الذين يطلبون الإذن بالمساهمة.

باستخدام GitHub، يكون الأمر سهلاً الإنشاء مشروع ثم تقديم طلب سحب.

يمكن لمالك المشروع بعد ذلك فحص الملف الشخصي لاي شخص عمل على المشروع وما ساهموا به قبل قبول طلبهم.

يعمل GitHub أيضا على عرض المشاريع لأصحاب العمل، حيث يعمل كمحفظة من نوع ما.

على سبيل المثال، غالبا ما يستخدم مسؤولو التوظيف GitHub لاستكشاف المواهب، نظرا لأن رمز العملاء المحتملين متاح لأي شخص لمراجعته.

Repositories الخاصة

بالتأكيد، كل هذا رائع، ولكن كيف يكسب GitHub المال إذا كان كل شيء مجانيا ومفتوح المصدر؟

الجواب هو أن GitHub يوفر خدمات مدفوعة الأجر أيضا، بما في ذلك repositories الخاصة.

في خطة مدفوعة، يمكن للفريق التعاون على GitHub مع الاحتفاظ بالتعليمات البرمجية الخاصة بهم خلف الأبواب الافتراضية المغلقة.

يقدم GitHub أيضا حلولا للمؤسسات تزود المؤسسات بأدوات التعاون الداخلي.

كيفية البدء في استخدام GitHub

  • تثبيت GIT.
  • اشترك في GitHub.
  • بدء تشغيل repository.
  • قم بتسمية مشروعك.
  • إضافة تفاصيل المشروع.
  • إنشاء repository الخاص بك.
  • إنشاء نسخة محلية من repository الخاص بك.
  • اختر دليلا.
  • الصق عنوان URL ل repository.
  • استنساخ والتحقق من أنك قمت بنسخ repository الخاص بك.
  • إنشاء ملف جديد في repository الجديد.
  • استعد لدفع ملفاتك.
  • قم بإجراء التغييرات على سجل التغييرات.
  • ادفع ملفات repository المستنسخة.
  • تحقق من وجود ملفك الجديد.

ما هي ميزات GitHub؟

  • إدارة المشاريع بسهولة.

GitHub هو المكان الذي يجتمع فيه مديرو المشاريع والمطورون لتنسيق وتتبع وتحديث أعمالهم بحيث تكون هناك شفافة في المشروع ويبقى على الموعد المحدد.

  • زيادة السلامة مع الحزم.

 يمكن نشر الحزم بشكل خاص أو داخل الفريق أو بشكل عام لمجتمع المصادر المفتوحة.

 يمكن استخدام الحزم أو إعادة استخدامها عن طريق تنزيلها من GitHub.

  • الإدارة الفعالة للفريق.

يساعد GitHub جميع أعضاء الفريق على البقاء على نفس الصفحة ومنظمين.

تساعد أدوات الإشراف مثل قفل طلب الإصدار والسحب الفريق على التركيز على الكود.

  • تحسين كتابة التعليمات البرمجية.

يساعد طلب السحب المؤسسات على مراجعة وتطوير واقتراح رمز جديد.

يمكن لأعضاء الفريق مناقشة أي تطبيقات ومقترحات من خلال هذه قبل تغيير شفرة المصدر.

  • زيادة سلامة التعليمات البرمجية.

يستخدم GitHub أدوات مخصصة لتحديد وتحليل نقاط الضعف في الشفرة التي تميل الأدوات الأخرى إلى تفويتها.

  • تعمل فرق التطوير معًا في كل مكان لتأمين سلسلة إمداد البرامج، من البداية إلى النهاية.
  • استضافة الرموز السهلة.

جميع التعليمات البرمجية والوثائق في مكان واحد.

هناك الملايين من repositories  على GitHub، ولكل repository أدواته الخاصة لمساعدتك في استضافة التعليمات البرمجية وإصدارها.

منافسو GitHub

  • Bitbucket
  • Google Cloud Source Repositories
  • Phabricator
  • GitLab
  • Gogs
  • Gitea
  • SourceForge
  • Apache Allura
  • Launchpad
  • AWS CodeCommit

استنتاج

لقد ساعدتك هذه المقالة على فهم أهمية GitHub.

لقد تعلمت أساسيات نظام version control  وكيفية عمل Git.

راسلنا