
إعداد فريق تسوى التحريري، من المصادر الرسمية المذكورة في آخر الدليل. كيف نكتب أدلتنا
تمرين Hello World في وثائق GitHub يعلمك الأفكار الأربع التي يقوم عليها كل مشروع جماعي، وهي المستودع والفرع والـ commit والـ pull request، دون أن تكتب سطر كود أو تثبت Git على جهازك.2 أغلب طلاب علوم الحاسب ونظم المعلومات يؤجلون ذلك إلى أسبوع تسليم مشروع التخرج. ابدأ قبله بفصل كامل.
ما الفرق بين Git وGitHub؟
Git نظام لإدارة النسخ يتتبع التغييرات في ملفاتك، فتعمل على نسختك من المشروع وتسجل تاريخ تعديلاتها وتدمج عملك مع عمل غيرك. وGitHub منصة سحابية تستضيف هذه المشاريع، واسمها المستودعات، وتضيف إليها أدوات التخطيط والتعاون.1 وGit نفسه مجاني ومفتوح المصدر.7 ولأنه موزع، فكل نسخة من المستودع على جهاز أي زميل نسخة احتياطية كاملة بتاريخه كله.8
| المصطلح | معناه ببساطة |
|---|---|
| Repository (مستودع) | مجلد المشروع بكل ملفاته وتاريخ تعديلاتها |
| README | ملف يشرح المشروع، يُكتب بلغة Markdown البسيطة |
| Branch (فرع) | نسخة تجرب فيها دون أن تمس النسخة الأساسية main |
| Commit | حفظ لتغيير محدد مع رسالة تشرح سببه |
| Pull request | طلب لدمج تغييرات فرعك في main، يعرض الفروق قبل الدمج |

كيف أنشئ أول مستودع على GitHub؟
اتبع تمرين Hello World نفسه من المتصفح، بعد إنشاء حساب مجاني على github.com:
- أنشئ المستودع
من القائمة في الزاوية العليا من أي صفحة اختر + > New repository، وسمّه hello-world، وفعّل Add a README file، ثم Create repository.2
- أنشئ فرعاً
في تبويب Code اضغط قائمة الفرع المكتوب عليها main، واكتب readme-edits، ثم اختر Create branch.2
- عدّل الملف
وأنت في الفرع الجديد افتح README.md واضغط أيقونة التعديل، واكتب سطرين عن نفسك وتخصصك.
- احفظ بـ commit
اضغط Commit changes واكتب رسالة تقول ماذا غيرت. كل commit يحمل رسالة تشرح سبب التغيير.2
- افتح pull request
من Pull requests > New pull request قارن readme-edits مع main، وراجع الفروق، ثم Create pull request.2
- ادمج واحذف الفرع
اضغط Merge pull request ثم أكّد، وبعدها احذف الفرع readme-edits بأمان لأن تغييراته صارت في main.2

وإذا تعارضت تغييراتك مع تغييرات زميل في السطر نفسه، ينبهك GitHub ويمنع الدمج حتى تحل التعارض.2 هذه ليست مشكلة، بل هي سبب وجود الـ pull request أصلاً.
هل أحتاج تعلم البرمجة من الصفر قبل GitHub؟
لا. التمرين السابق لا يتطلب معرفة بالبرمجة ولا بسطر الأوامر.2 لكن GitHub يصبح مفيداً حقاً حين يكون عندك شيء ترفعه: حل تمارين، أو صفحة HTML، أو سكربت بايثون صغير. فإن كنت في البداية، فاجمع الأمرين معاً بالخطة في كيف اتعلم البرمجة من الصفر، وارفع كل تمرين تنهيه.
أما سطر الأوامر فستحتاجه مع الوقت. وحتى تتعود، يغنيك GitHub Desktop: تطبيق مجاني ومفتوح المصدر بواجهة رسومية، يعرض تغييراتك بوضوح ويعمل على Windows وmacOS.6
كيف أستخدم GitHub في مشروع التخرج؟
مستودع واحد للفريق، وفرع لكل مهمة، ومراجعة قبل كل دمج. أنشئ المستودع في الأسبوع الأول وأضف زملاءك إليه، وليعمل كل واحد في فرع باسم مهمته، مثل login-page أو database-schema. ومن ينهي مهمته يفتح pull request، ويراجعه زميل آخر قبل الدمج. بهذا لا يضيع عمل أحد، وترجعون إلى أي نسخة سابقة إن تعطل شيء ليلة التسليم. واكتبوا في README طريقة تشغيل المشروع وتوزيع المهام، فالمشرف يفتحه أولاً. وتفاصيل المراجعة وتسمية الفروع في تعلم Git للطلاب.
وأكثر ما يفسد المشاريع الجماعية ليس الكود، بل العمل المباشر على main. زميل يعدل الملف نفسه الذي تعدله أنت، ثم يرفع نسخته فوق نسختك قبل العرض بساعة. اتفقوا من اليوم الأول على قاعدة واحدة: لا أحد يدمج فرعه بنفسه. ومن يتأخر في مراجعة طلب زميله يؤخر الفريق كله، فحددوا يوماً في الأسبوع للمراجعة، ودوّنوا في README من يراجع ماذا.
هل يفيد GitHub في التدريب التعاوني لطلاب علوم الحاسب؟
يفيد، لأن صفحة حسابك تصبح سيرتك التقنية. يعرض GitHub ملف README خاصاً في أعلى صفحة حسابك إذا اجتمعت هذه الشروط:3
- مستودع اسمه مطابق لاسم المستخدم حرفاً بحرف.
- المستودع عام (public).
- فيه ملف README.md في المجلد الرئيسي.
- الملف غير فارغ.
ويختفي README من صفحتك إذا أفرغت الملف أو جعلت المستودع خاصاً أو غيرت أحد الاسمين.3 اكتب فيه سطراً عن تخصصك وجامعتك، والمهارات التي تتعلمها الآن، وروابط أفضل مشروعين عندك. ولربط ذلك بطلبات التدريب اقرأ ملف أعمال علوم الحاسب للتدريب التعاوني. وهذا قالب تعطيه لأي مساعد ذكاء اصطناعي:
اكتب لي ملف README.md لصفحة حسابي على GitHub. أنا طالب [التخصص] في [الجامعة]، مهتم بـ [المجال]. أتعلم حالياً [المهارات]. أفضل مشاريعي: [اسم المشروع ورابطه ووصفه في سطر]. اجعله قصيراً بالعربية والإنجليزية، بعناوين Markdown بسيطة، ودون مبالغة في وصف مستواي.
كيف أنشر موقعي مجاناً على GitHub Pages؟
GitHub Pages يأخذ ملفات HTML وCSS وJavaScript من مستودعك وينشرها موقعاً على عنوان github.io، ويتاح مجاناً في المستودعات العامة.4 حجم الموقع لا يتجاوز 1 جيجابايت، وحد الاستهلاك المرن 100 جيجابايت شهرياً، وهو أكثر من كافٍ لملف أعمال طالب.5 لكنه ليس لمتجر إلكتروني أو موقع تجاري.5 ابنِ الصفحة أولاً بـ تعلم HTML وCSS، ثم رتب محتواها بخطوات بناء ملف أعمال.
كيف أكتب رسالة commit وملف README يفهمهما غيري؟
الرسالة الجيدة سطر قصير يبدأ بفعل ويقول ماذا تغير. حين ترجع إلى مشروعك بعد شهرين، أو يقرأ زميلك تاريخ المستودع، يفهم ما حدث دون أن يفتح كل ملف:
| رسالة ضعيفة | رسالة واضحة |
|---|---|
| update | Add login form validation |
| fix | Fix crash when the cart is empty |
| asdf | Translate homepage headings to Arabic |
| final final 2 | Remove unused images from assets folder |
والـ README بوابة المشروع. ضع في أوله اسم المشروع وجملة واحدة تقول ماذا يفعل ولمن، ثم لقطة شاشة واحدة، فهي توضح الشكل أسرع من فقرة كاملة. بعدها الأوامر التي يحتاجها أي شخص ليشغل المشروع على جهازه، وأخيراً سطران عن مشكلة واجهتها وكيف حللتها. هذا السطر الأخير بالذات هو ما يقرؤه من يراجع طلبك للتدريب، لأنه يكشف طريقة تفكيرك لا قائمة أدواتك. واكتبه بالإنجليزية إن كنت تتقدم لشركات عالمية، وأضف نسخة عربية إن كان المشرف في قسمك يفضلها.
ما أخطاء المبتدئين في GitHub؟
- رفع كلمة مرور أو مفتاح API داخل الكود. احذفه وغيّر المفتاح فوراً، فحذفه من آخر نسخة لا يمحوه من التاريخ.
- العمل أسابيع ثم رفع كل شيء في commit واحد، فيضيع تاريخ المشروع.
- رسائل مثل update أو fix. اكتب ماذا تغير: Fix crash when the cart is empty.
- مستودع بلا README، فلا يعرف الزائر ما المشروع ولا كيف يشغله.
- نشر حلول واجبات ما زالت مطلوبة من دفعة أخرى. راجع سياسة المقرر قبل جعل المستودع عاماً.
والخطأ الذي لا يراه المبتدئ إلا متأخراً هو المستودعات المهجورة. عشرون مستودعاً بلا وصف، نصفها نسخ من دروس يوتيوب، تجعل صفحتك تبدو مزدحمة لا قوية. ثبّت أفضل مستودعاتك وأكثرها اكتمالاً في أعلى صفحتك، واكتب لكل منها سطر وصف، واجعل الباقي خاصاً أو احذفه. ومن يراجع طلبك للتدريب يقضي دقيقة أو دقيقتين في صفحتك، فاجعل تلك الدقيقة تذهب إلى أفضل ما عندك.
هل GitHub مجاني للطلاب؟
الخطة المجانية تكفي الطالب لمستودعات مشاريعه، وتنشر موقعه على Pages من مستودع عام دون أن يدفع شيئاً.4 وبالبريد الجامعي تتقدم إلى حزمة الطلاب التي تفتح أدوات مطورين مدفوعة مجاناً، والخطوات في حزمة GitHub للطلاب.
- جيت هب: جيت هب تقدّم حزمة جيت هب للطلاب المطورين لطلاب الجامعات في السعودية مجاناً.
- جيت براينز: جيت براينز تقدّم حزمة جيت براينز للطلاب لطلاب الجامعات في السعودية مجاناً.
- نوشن: نوشن تقدّم باقة نوشن للتعليم للطلاب لطلاب الجامعات في السعودية مجاناً.





