ما هو GitHub؟ شرح شامل للمبتدئين وعلاقته بالبرمجة والذكاء الاصطناعي

 

GitHub: ما هو؟ وكيف يعمل؟ وما علاقته بالذكاء الاصطناعي والبرمجة والتوظيف؟

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

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

ما هو GitHub ببساطة؟

يمكن تعريف GitHub بطريقة سهلة بأنه:


ما هو GitHub؟ شرح شامل للمبتدئين وعلاقته بالبرمجة والذكاء الاصطناعي

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

لكن لفهم GitHub بشكل صحيح، يجب أولًا معرفة شيء اسمه Git.

ما هو Git؟

Git هو نظام لإدارة إصدارات المشاريع البرمجية، ويُعرف باسم Version Control System.

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

بدلًا من الاحتفاظ بعشرات النسخ مثل:

  • project-final

  • project-final2

  • project-final-new

  • project-final-new-real

  • project-final-last

يسجل Git تاريخ التعديلات التي حدثت على المشروع، بحيث يمكن للمطور معرفة ما الذي تغير والعودة إلى نسخة سابقة عند الحاجة.

أما GitHub فهو منصة على الإنترنت تعتمد على Git وتضيف إليه أدوات للتعاون والمشاركة وإدارة المشاريع.

ولهذا يمكن تبسيط الفرق إلى:

Git = نظام لإدارة إصدارات المشروع

GitHub = منصة لاستضافة المشاريع باستخدام Git والتعاون عليها 

كيف بدأت فكرة GitHub؟

لفهم أهمية GitHub، علينا العودة إلى مشكلة قديمة في عالم البرمجة.

عندما يعمل شخص واحد على برنامج، يمكنه بسهولة الاحتفاظ بالملفات على جهازه.

لكن ماذا يحدث عندما يعمل على المشروع:

أحمد + محمد + سارة + عشرات المطورين؟

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

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

ثم ظهر Git، الذي أنشأه لينوس تورفالدس، صاحب مشروع Linux، ليكون نظامًا سريعًا وموزعًا لإدارة إصدارات البرمجيات.

بعد ذلك جاءت فكرة GitHub: لماذا لا تكون هناك منصة على الإنترنت تجعل التعاون على مشاريع Git أسهل، وتتيح للمطورين مشاركة مشاريعهم والمساهمة في مشاريع الآخرين؟

بدأت GitHub فعليًا في عام 2008، بينما تشير صفحة GitHub الرسمية إلى أن أول Commit للمشروع نفسه كان في 19 أكتوبر 2007.

ومنذ ذلك الوقت تحولت المنصة تدريجيًا من خدمة يستخدمها المطورون إلى بيئة ضخمة لبناء البرمجيات وإدارتها والتعاون عليها. 


ما هو GitHub؟ شرح شامل للمبتدئين وعلاقته بالبرمجة والذكاء الاصطناعي


ما هو Repository في GitHub؟

من أهم الكلمات التي ستصادفها في GitHub:

Repository

وتختصر غالبًا إلى:

Repo

ويمكن ترجمتها إلى مستودع.

المستودع هو المكان الذي يوجد فيه مشروعك.

على سبيل المثال، إذا كنت تطور موقعًا إلكترونيًا، فقد يحتوي المستودع على:

My-Website
│
├── index.html
├── style.css
├── script.js
├── images
└── README.md

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

يمكن أن يكون المستودع:

Public — عام، يستطيع الآخرون رؤيته.

أو:

Private — خاص، ويكون الوصول إليه محدودًا بالأشخاص الذين تسمح لهم بذلك. 

لماذا توجد ملايين المشاريع على GitHub؟

هذه واحدة من أقوى أفكار GitHub.

فبدلًا من أن يبني كل مبرمج كل شيء من الصفر، يستطيع المطور الاستفادة من مشاريع وأدوات ومكتبات موجودة بالفعل.

فمثلًا، قد تجد على GitHub مشروعًا متخصصًا في:

  • الذكاء الاصطناعي

  • تعلم الآلة

  • Python

  • JavaScript

  • تطوير المواقع

  • تطبيقات الهاتف

  • تحليل البيانات

  • الروبوتات

  • معالجة الصور

  • توليد الصور

  • الصوت والكلام

  • قواعد البيانات

  • الأتمتة

  • أدوات المطورين

  • التعليم

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

وهذا هو أحد أسباب أهمية Open Source — البرمجيات مفتوحة المصدر

ما المقصود بـ Open Source؟

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

لكن هناك نقطة مهمة:

وجود مشروع على GitHub لا يعني تلقائيًا أنه مسموح لك أن تفعل به أي شيء.

يجب دائمًا قراءة ملف:

LICENSE

لمعرفة شروط استخدام المشروع.

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

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

ما هو GitHub؟ شرح شامل للمبتدئين وعلاقته بالبرمجة والذكاء الاصطناعي


هل GitHub موقع تواصل اجتماعي؟

ليس بالمعنى التقليدي.

فهو ليس مثل Facebook أو Instagram أو TikTok، حيث يكون الهدف الرئيسي نشر المحتوى والتفاعل الاجتماعي.

لكن GitHub يحتوي على عناصر تشبه الشبكات الاجتماعية.

يمكنك:

  • إنشاء حساب شخصي.

  • متابعة المطورين والمشاريع.

  • وضع ⭐ للمشاريع.

  • المشاركة في النقاشات.

  • الإبلاغ عن المشكلات.

  • المساهمة في المشاريع.

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

  • متابعة نشاط المشاريع.

لكن الهدف الأساسي هو:

بناء البرمجيات والتعاون في تطويرها.

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

هل GitHub موقع توظيف؟

ليس GitHub منصة توظيف تقليدية مثل مواقع الوظائف.

لكن له علاقة قوية جدًا بالتوظيف في المجال التقني.

والسبب أن حساب GitHub يمكن أن يكون بمثابة معرض أعمال Portfolio للمبرمج.

فبدل أن يقول شخص في سيرته الذاتية:

لدي خبرة في Python وJavaScript.

يمكن لصاحب العمل أن ينظر إلى مشاريعه الحقيقية على GitHub ويرى:

  • ما المشاريع التي أنشأها؟

  • كيف يكتب الكود؟

  • هل يساهم في مشاريع مفتوحة المصدر؟

  • هل لديه مشاريع شخصية؟

  • كيف يتعامل مع المشكلات؟

  • ما مستوى نشاطه؟

  • هل يستطيع التعاون مع الآخرين؟

لذلك يمكن أن يكون GitHub مهمًا جدًا في بناء السمعة المهنية للمطور.

لكن يجب الانتباه إلى أن وجود حساب GitHub جيد لا يضمن الحصول على وظيفة؛ فهو أداة لإظهار المهارات والأعمال، وليس بديلًا عن عملية التوظيف نفسها. 

أهم أدوات GitHub التي يجب معرفتها

هناك مجموعة من المصطلحات الأساسية التي ستساعدك على فهم المنصة.

1. Commit

الـ Commit هو تسجيل لمجموعة من التغييرات التي أجريتها على المشروع.

يمكن اعتباره نقطة محفوظة في تاريخ المشروع.

مثلاً:

أضفت صفحة تسجيل الدخول.

ثم تقوم بعمل Commit.

بعد ذلك:

أصلحت مشكلة في الهاتف.

وتقوم بعمل Commit آخر.

وهكذا يصبح للمشروع تاريخ واضح. 

2. Branch

الـ Branch يعني فرعًا من المشروع.

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

مثلًا:

Main
 │
 ├── New Design
 │
 ├── Dark Mode
 │
 └── Mobile Version

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

GitHub يوضح أن الفروع تسمح للمطور بتطوير ميزة أو إصلاح خطأ أو تجربة فكرة في بيئة منفصلة عن الفرع الأساسي. 

3. Fork

إذا وجدت مشروعًا مفتوح المصدر وأردت العمل على نسخة منه، يمكنك إنشاء:

Fork

أي نسخة من المستودع داخل حسابك.

مثلاً:

المشروع الأصلي
       ↓
      Fork
       ↓
نسختك الخاصة

يمكنك بعد ذلك إجراء تعديلاتك على النسخة الخاصة بك.

وهذه الطريقة مهمة جدًا في مشاريع Open Source.

4. Pull Request

من أهم ميزات GitHub:

Pull Request — PR

وهو طلب لإدخال تغييراتك إلى المشروع الأصلي.

تخيل أنك وجدت خطأ في مشروع مفتوح المصدر.

أصلحت الخطأ في نسختك.

يمكنك إرسال Pull Request إلى صاحب المشروع وتقول له عمليًا:

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

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

وتصف GitHub نفسها Pull Requests بأنها وسيلة لاقتراح التغييرات ومناقشتها ومراجعتها ثم دمجها في المشروع. 

5. Issues

كلمة:

Issue

تعني مشكلة أو مهمة أو طلبًا متعلقًا بالمشروع.

مثلًا اكتشفت أن تطبيقًا لا يعمل بشكل صحيح على الهاتف.

يمكنك فتح Issue وكتابة المشكلة.

وقد يستخدم فريق المشروع Issues من أجل:

  • تسجيل الأخطاء.

  • اقتراح ميزات جديدة.

  • متابعة المهام.

  • مناقشة التحسينات.

  • تنظيم العمل.

وتوضح وثائق GitHub أن Issues يمكن استخدامها لتتبع الأخطاء والتحسينات والطلبات المختلفة. 

6. README

عندما تفتح مشروعًا على GitHub، ستجد غالبًا ملفًا اسمه:

README.md

وهو بمثابة الصفحة التعريفية للمشروع.

قد يحتوي على:

  • ما هو المشروع؟

  • ما وظيفته؟

  • كيفية تثبيته.

  • كيفية استخدامه.

  • أمثلة.

  • المتطلبات.

  • صور أو فيديوهات.

  • معلومات عن المطورين.

  • رابط الوثائق.

ولهذا يعتبر README مهمًا جدًا عند تقييم مشروع على GitHub. 

كيف يعمل GitHub في مشروع حقيقي؟

لنفترض أن خمسة مبرمجين يعملون على موقع إلكتروني.

يكون سير العمل مثلًا:

المشروع الأساسي ⬇️ كل مطور ينشئ Branch ⬇️ يعمل على مهمته ⬇️

يسجل التعديلات عبر Commits ⬇️ يرفع التغييرات إلى GitHub ⬇️

يفتح Pull Request ⬇️ الفريق يراجع الكود ⬇️ تُجرى الاختبارات ⬇️

إذا كان كل شيء جيدًا ⬇️ يتم Merge ⬇️ تدخل التعديلات إلى المشروع الأساسي.


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

ما علاقة GitHub بالذكاء الاصطناعي؟

هنا أصبحت العلاقة بين GitHub والذكاء الاصطناعي أكثر أهمية في السنوات الأخيرة.

هناك جانبان رئيسيان.

الجانب الأول: GitHub كمصدر للمشاريع والأدوات

توجد على GitHub كمية ضخمة من المشاريع المتعلقة بالذكاء الاصطناعي.

يمكن للمطورين والباحثين العثور على مشاريع وأدوات مفتوحة المصدر مرتبطة بـ:

Machine Learning /Large Language Models /Generative AI

Computer Vision /AI Agents /RAG /Speech AI /Image Generation

وغيرها.

وبالتالي أصبح GitHub مكانًا مهمًا لاكتشاف البرمجيات والأدوات التي يعتمد عليها كثير من مشاريع الذكاء الاصطناعي. 

الجانب الثاني: GitHub نفسه يستخدم الذكاء الاصطناعي

وهنا يظهر:

GitHub Copilot

GitHub Copilot هو مساعد برمجي يعتمد على الذكاء الاصطناعي.

يمكنه مساعدة المطور في كتابة وفهم الكود.

ومن وظائفه:

  • اقتراح الكود أثناء الكتابة.

  • شرح الأكواد.

  • الإجابة عن أسئلة متعلقة بالمشروع.

  • المساعدة عبر سطر الأوامر.

  • المساعدة في إنشاء Pull Requests.

  • المساعدة في التخطيط للتعديلات وتنفيذها ومراجعتها.

وتصف GitHub رسميًا Copilot بأنه مساعد للبرمجة يعتمد على الذكاء الاصطناعي، ومصمم لمساعدة المطورين على كتابة الكود بسرعة وبجهد أقل.

مثال بسيط على استخدام الذكاء الاصطناعي مع GitHub

تخيل أنك مبرمج وتريد إنشاء وظيفة في Python.

يمكنك أن تطلب من Copilot مثلًا:

Create a Python function that converts Celsius to Fahrenheit.

فيقترح لك الكود.

ثم تستطيع مراجعته وتعديله واختباره.

وفي مثال آخر، يمكن أن تقول:

Explain this code.

فيقوم بشرح الكود.

وبذلك ينتقل دور الذكاء الاصطناعي من مجرد "مولد كود" إلى مساعد في دورة تطوير البرمجيات.

وتوضح GitHub أن Copilot يعمل في بيئات البرمجة المختلفة، وكذلك داخل GitHub وسطر الأوامر وأدوات أخرى. 

ما هو GitHub؟ شرح شامل للمبتدئين وعلاقته بالبرمجة والذكاء الاصطناعي


هل يعني ذلك أن GitHub هو موقع ذكاء اصطناعي؟

لا.

وهذه نقطة مهمة جدًا.

GitHub ليس منافسًا لـ ChatGPT أو Gemini أو Claude من حيث كونه روبوت محادثة عامًا.

وظيفته الأساسية ما زالت:

تطوير البرمجيات وإدارتها والتعاون عليها.

لكن الذكاء الاصطناعي أصبح جزءًا متزايد الأهمية من بيئة GitHub، وخاصة من خلال Copilot والأدوات المرتبطة بتطوير البرمجيات.

هل يمكن لشخص غير مبرمج الاستفادة من GitHub؟

نعم، ولكن بدرجات مختلفة.

إذا لم تكن مبرمجًا، يمكنك استخدام GitHub من أجل:

اكتشاف الأدوات

البحث عن أدوات ومشاريع مفتوحة المصدر.

التعلم

مشاهدة مشاريع حقيقية وقراءة طريقة بنائها.

استخدام أدوات جاهزة

بعض المشاريع توفر تعليمات تسمح بتشغيلها دون الحاجة إلى بناء البرنامج من الصفر.

متابعة عالم الذكاء الاصطناعي

يمكنك العثور على مشاريع وتجارب وأدوات جديدة مرتبطة بالذكاء الاصطناعي.

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

كيف أعرف أن مشروعًا على GitHub جيد؟

وجود المشروع على GitHub لا يعني بالضرورة أنه ممتاز أو آمن.

قبل استخدام أي مشروع، من الأفضل النظر إلى عدة أشياء:

 عدد النجوم  

يعطي مؤشرًا عن مدى انتشار المشروع، لكنه ليس ضمانًا للجودة.

آخر تحديث

هل المشروع لا يزال نشطًا؟

README

هل توجد تعليمات واضحة؟

LICENSE

ما شروط الاستخدام؟

Issues

هل توجد مشاكل كثيرة؟ وهل المطورون يجيبون عنها؟

Pull Requests

هل هناك مساهمون يطورون المشروع؟

Releases

هل توجد إصدارات منظمة؟

المطور أو المؤسسة

من يقف وراء المشروع؟

الكود والاعتماديات

هل المشروع يعتمد على مكتبات معروفة؟ وهل توجد تحذيرات أمنية؟

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

هل كل ما يوجد في GitHub مجاني؟

ليس بالضرورة.

يجب التفريق بين:

GitHub كمنصة

و

المشاريع الموجودة على GitHub

فقد يكون المشروع مفتوح المصدر ومجانيًا، وقد يكون له شروط خاصة، وقد تكون بعض الخدمات المرتبطة به مدفوعة.

كما أن GitHub نفسه يقدم خططًا وخدمات مختلفة.

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

لماذا أصبح GitHub مهمًا جدًا في عصر الذكاء الاصطناعي؟

لأن تطوير الذكاء الاصطناعي الحديث يعتمد بدرجة كبيرة على البرمجيات.

النموذج وحده لا يكفي.

هناك حاجة إلى:

  • أكواد. مكتبات. أدوات. واجهات برمجية. قواعد بيانات. تطبيقات. نماذج. أدوات اختبار. أدوات نشر. أدوات أتمتة.

وهذه الأشياء تحتاج إلى بيئة يستطيع المطورون من خلالها بناء المشاريع ومشاركتها وتطويرها.

وهنا يأتي GitHub.

ولهذا يمكن النظر إلى GitHub باعتباره أحد الأماكن المهمة التي يلتقي فيها:

البرمجة + المصادر المفتوحة + التعاون + الذكاء الاصطناعي.

GitHub ليس مجرد مكان لتخزين الكود

هذه ربما أهم فكرة في المقال كله.

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

قيمته الحقيقية تأتي من الجمع بين عدة وظائف:

تخزين المشروع ⬇️ تاريخ التعديلات ⬇️ التعاون ⬇️ مراجعة الكود ⬇️

إدارة المشكلات ⬇️ المشاريع مفتوحة المصدر ⬇️ المجتمع التقني ⬇️ أدوات الذكاء الاصطناعي

وهذا ما جعله جزءًا أساسيًا من سير عمل تطوير البرمجيات الحديث.

GitHub في مقارنة سريعة مع المنصات الأخرى

المنصةوظيفتها الأساسية
GitHubتطوير البرمجيات والتعاون وإدارة الكود
Gitإدارة إصدارات الكود
LinkedInالعلاقات المهنية والتوظيف
Google Driveتخزين ومشاركة الملفات
YouTubeنشر ومشاهدة الفيديو
Facebookالتواصل الاجتماعي
ChatGPTالمحادثة والمساعدة بالذكاء الاصطناعي
GitHub Copilotمساعدة المطور بالذكاء الاصطناعي

هذه المقارنة توضح لماذا لا يمكن اختصار GitHub بأنه "موقع للمبرمجين" فقط.

أهم المصطلحات التي ينبغي أن تتعلمها

إذا أردت البدء في GitHub، فابدأ بهذه الكلمات:

المصطلح     المعنى
Gitنظام إدارة إصدارات
GitHubمنصة لتطوير واستضافة والتعاون على المشاريع
Repositoryمستودع المشروع
Commitتسجيل مجموعة من التغييرات
Branchفرع مستقل للعمل
Forkإنشاء نسخة من مشروع
Cloneنسخ المستودع إلى جهازك
Pull Requestاقتراح دمج التغييرات
Issueمشكلة أو مهمة أو طلب
Mergeدمج التغييرات
READMEملف التعريف والتعليمات للمشروع
Licenseشروط استخدام المشروع
Release   إصدار منشور من المشروع   

 ما هو GitHub في النهاية؟ 

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

إنه منصة متكاملة لتطوير البرمجيات والتعاون عليها ومشاركتها وإدارتها.

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

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

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

الموقع الرسمي: GitHub
وثائق GitHub الرسمية: GitHub Docs
GitHub Copilot: GitHub Copilot

مصادر ومراجع موثوقة

  • GitHub — معلومات وتاريخ الشركة والمنصة. (GitHub)

  • GitHub Docs — Pull Requests والتعاون في تطوير المشاريع. (GitHub Docs)

  • GitHub Docs — Issues وإدارة المشكلات والمهام. (GitHub Docs)

  • GitHub Docs — الفروع وForks وCommits وسير العمل البرمجي. (GitHub)

  • GitHub Docs — GitHub Copilot والذكاء الاصطناعي في البرمجة. (GitHub Docs)

  • GitHub — الصفحة الرسمية لـ GitHub Copilot. (GitHub)




التالي
هذه أحدث تدوينة

ليست هناك تعليقات:

إرسال تعليق