المقدمة #
رغم كونها واحدة من أشهر منصّات البرمجة و التقنية عموما, ما تزال منصة الغيتهاب من تلك المواضيع الغامضة التي قلّ ما يهتمّ لها المنتسبون الجدد للمجال و نادرا ما يفكّرون في فهمها ناهيك عن الغوص و فتح حساب فيها. فنجد كثيرا من الطلاّب و المبتدئين يضيعوا فرص استغلال المنصة استغلالا كاملا و يكتفوا منها بتحميل الأكواد و البرامج بين الحين و الآخر متجاهلين كلّ وظائفها الأخرى.
و هو ما دفعني, اضافة الى ما رأيته من صعوبة المقالات المشابهة و دخولها في تعقيدات, الى كتابة هذا المقال كمقدّمة بسيطة للتعريف بالمنصّة و فوائدها و مدى سهولة الحصول على حساب متكامل فيها. و نبدأ الحديث مع السؤال الأوّل, ما هي هذه المنصّة؟
ما هو الغيتهاب؟ #
الغيتهاب (بالإنجليزية: GitHub) هو منصّة تابعة لشركة مايكروسوفت تقدّم خدمة حفظ المشاريع للمبرمجين في مستودعات ( repositories ) تحتوي على ملفأت المشاريع و نسختها كبرامج ان كان لها حتى تسهل مشاركتها مع النّاس كما تتيح لهؤلاء المبرمجين العمل مع بعض و التعاون في مختلف مشاريعهم.
و طريقة عمل المنصّة تتّضح أكثر ان تأمّلنا في معنى اسمها اذ نجده منقسما لجزأين:
- الأوّل غيت (Git): و هو برنامج حر مفتوح المصدر للتحكّم في الإصدارت (Version Control) أي يبقي لمستعمله نسخة من حالة ملفّات مشروعه كلّما حفظه بعد التعديل. هذا الى جانب العديد من الاستعمالات الأخرى التي تحتاج وحدها الى مقال كامل, لذلك نكتفي الآن بما يهمّنا و هي قدرتاه على دفع1 الملفات نحو أيّ مستودع يحدّده مستعمله مادام له صلاحيات ذلك و سحبها2 منه.
- الثّاني هوب (Hub): و يعني بالعربية المركز و في سياقنا هذا هو مركز المستودعات.
اذن فغيتهوب هو منصة مركزية للمستودعات تدفع نحوها الملفّات و تسحب منها باستخدام تقنية الغيت.
و مع أنّ هذا التّفسير صحيح الاّ أنه في حاجة لبعض التوضيح. فقد توحي بعض المصطلحات ك"مبرمجين" و “ملفات المشاريع” أنّ المنصّة حكر لهؤلاء المبرمجين خاصة و التقنيين عامة و هذا بعيد عن الصحة اذ يمكن لأيّ كان استعمالها لتنظيم ملفاته و الحفاظ عليهم فيها. و رغم أنّ هذا النوع من الاستعمال نادر الاّ أنّ له تطبيقات عدّة أنوي ذكر احداها في مقال قادم لي عن كيفيّة استعمالي لها لحفظ ملاحظاتي و دروسي فيها, ان شاء اللّه.
هل يلزمني كمبرمج؟ #
للأسف نجد الكثير من دوائر المبرمجين التي يقلّ داخلها استعمال مثل هذه المنصّة و خاصة في الجامعات التي مازال يفضّل بعض أساتذتها من الطلبة ارسال مشاريعهم عبر الايميل عوض مشاركة رابط من الغيتهاب فيه هذا المشروع مع أن من الممكن أن يكون للأستاذ وحده حق رؤية المشروع من الرابط و معاينته في المنصّة مباشرة.
المجتمع لو واكب الأساتذة التطوّر
هذا الى جانب قلة التشجيع على نشر المشاريع الشخصية و غياب ثقافة المساهمة في مشاريع الآخرين فقلّما يدعى الى المشاركة في المشاريع مفتوحة المصدر كطريقة لتطوير المهارات البرمجية في حين يركّز حصرا على الدّعوة لانشاء مشاريع من الصفر و هذا ما يضعف قيمة امتلاك حساب على مثل هذه المنصات. و لا ننسى خجل البعض من مشاريعهم ظانين أنّ هذه المنصة مخصّصة فقط لنشر المشاريع ذات القيمة العالية و الجودة الرّفيعة و هو تفكير بعيد عن الصحة.
هذه العوامل و غيرها تؤدي الى عزوف العديدين عن الاهتمام بالمنصّة و هو ما قد ينجرّ عنه للأسف نتائج سيّئة ان لم تكن كارثية أحيانا اذا استمرّ هذا العزوف. و من أمثلة تلك النتائج السيئة, ضياع فرص التعرّف على زملاء من المجال و التعلّم من خبراتهم الى جانب صعوبة معرفتك للتقنيات المطلوبة في السوق و أخرى قد تفيدك في مجالك و قد تلهمك للوصول لحلول لم تفكّر فيها لتلك المشاكل. هذا الى جانب ضياع مشاريعك مع مرور الزّمن دون أن يدري عنها أحد في حاسوبك.
حال من نسي حفظ مشاريعه و حذفها
أمّا النتائج الكارثية فقد تصل لحرمانك من فرص العمل, اذ ليس من الصّعب أن نتخيّل رفض شركة لشخص لا يمتلك مكانا يعرض فيه مشاريعه و يبرهن أيضا على استعداده للعمل في فريق فمثل هذا الشخص قلّما يكون جديا في عمله و لا فرق بينه و بين المئات من الخرّيجين الآخرين.
لذلك أفضّل عوض سؤال ان كان يلزمك الحساب أن تسأل ما الذي ستضيعه ان لم يكن عندك و بما أنّنا ذكرنا سلبيات عدم امتلاكه لننتقل لما سيقدّمه لك ان قرّرت استعماله.
ما الذي يوفّره؟ #
عديدة هي الخدمات التي توفرها منصة غيتهاب و المميز فيها أنّها جميعا مجّانية و لا تحتاج للاشتراك في النسخة المدفوعة لاستعمالها بما أنّ تلك مخصّصة فقط للشركات و حاجياتهم. و من جملة هذه الخدمات نذكر:
- سهولة نقل المشاريع و حفظها : عوض الحاجة لاستعمال فلاشة أو أي طريقة يدوية لنقل ملفات مشاريعك معك كلّما أحتجته يمكّنك غيتهاب من تخزين تلك الملفات عليه و الوصول اليها و تحميلها في أيّ جهاز متّصل بالانترنات.
- سهولة المشاركةو التّعاون : بنفس السهولة التي تصل بها لملفات مشروعك يمكن لغيرك أيضا الوصول لنفس الملفّات و في حال أرادوا يمكنهم المشاركة في المشروع باضافة تعديلات يمكنك بعدها الموافقة على ادخالها أو رفضها أو عن طريق كتابة ملاحظات في المكان المخصّص للمناقشة. و ان كان لك شريك في المشروع حينها يمكنكما بسهولة الوصول لنفس الملفّات و الاضافة عليها و سحب تعديلاتكما بسلاسة.
المبرمج للمبرمج سند!
-
امكانية البناء على مشاريع الآخرين : غيتهاب منصّة مليئة بالمشاريع مفتوحة المصدر و كثيرا ما يعجبك أحدها و ترغب لو تمتلكه لتعدّل عليه حتّى يتوافق مع رغبتك و ذلك ممكن بسهولة في المنصّة. فبمجرّد ضغط زرّ التفرّع ( Fork ) ستمتلك نسختك الخاصة من المشروع و لك أن تغيّر فيها كما تشاء مادمت تحترم الرّخصة التي أدرج تحتها مطوّر المشروع الأصليّ مشروعه.
-
استضافة المواقع الثابتة : اضافة لهذا كلّه يقدّم غيتهاب ميزة استضافة المواقع الثابتة عن طريق خدمة صفحات غيتهاب ( Github Pages ). و هذه المواقع الثابتة هي المواقع المصنوعة مباشرة بالهتمل و السي.أس.أس و الجافا سكريبت ( Html, CSS, JS ) أو المصنوعة بمولدات المواقع الثابتة مثل جيكيلي ( Jekyll ) او زولا ( Zola ) او هوغو ( Hugo ) و تتميّز بسرعتها و خفّتها اذ قد لا يتجاوز الموقع الكامل ال10 ميجابايت بها و لذلك استضافتها جدّ رخيصة و غيتهاب تقدّمها بالمجّان! و هذه الخدمة ممتازة لصنع المدوّنات أو مواقع تعرض برامجك فيها.
كيف تنشئ حسابك؟ #
بعد كلّ ما ذكرته أتمنّى أنك ترغب الآن في انشاء الحساب لكن ربّما قد تؤجّل الأمر و تظنه صعبا يحتاج لمشاهدة فيديو لمعرفة الطريقة لكن هذه الصعوبة ليست الاّ مجرّد وهم في الحقيقة و هو ما انوي اثباته في هذه الارشادات:
- التسجيل: و مراحله بسيطة فكلّ ما تحتاج اليه هو ايميل ثم الدخول الى الغيتهاب و تقديم المعلومات المطلوبة منك و لا يلزم أن تكون معلوماتك الشخصية بل من المعتاد فيه أن يستعمل الشّخص اسمه الوهمي حسب رغبته من الحساب.
ضع ايميلك هناك
- اضافة معلوماتك للحساب: بعد التّسجيل يمكنك اضافة صورة و وضع روابط حساباتك في وسائل التواصل و بعض المعلومات الأخرى. و شخصيا أنصح باضافتها حتّى تسهّل تكوين علاقات و يمكن لمن يريد الوصول لك و الحديث معك.
حسابي ✨
- كتابة الReadme: و هو في العادة ملفّ يكتب بصيغة الماركداون و يحتوي على معلومات تخصّ المشروع الذي يحتويه لكن يوجد مثله يخصّ حسابك يمكّنك من عرض معلومات أكثر. و لتصنعه عليك انشاء مستودع جديد يحمل نفس اسم المستعمل الخاص بحسابك و في ذلك المستودع تنشئ ملفا باسم README.md و تكتب فيه ما ترغب. و بامكانك الاستفادة من قوالب عديدة لصنعه لكن حاول جعله معبّرا عنك و لا تقم بنسخه مباشرةكما هو. و هذا مستودع بقوالب لجميع الأذواق يمكنك الاستلهام منه:
😎 A curated list of awesome GitHub Profile which updates in real time
- متابعة الغير : يسمح لك الغيتهاب بمتابعة حسابات الآخرين و يمكنك استغلال هذا كي ترى جديد مشاريعهم او تساعدهم و لا أنصح بالمتابعة العشوائية للنّاس فقد تضيع عليك فرصة رؤية المشاريع التي تهتمّ لها فكن براجماتيا و تابع من تراه يستحق المتابعة (مثل حسابي )
- افتتاح مدونة : بما أنّ الغيتهاب يوفّر لك فرصة امتلاك موقغ ثابت بالمجّان لا ضير أن تصنع واحدا و تجعله مدوّنة تعبّر عنك. و صنعها سهل للغاية يحتاج فقط لأساسيات التطوير و فهم طريقة عمل خدمة صفحات الغيتهاب.
شكلك و أنت متحمّس تكتب في مدوّنتك
الخاتمة #
أرجو أن يكون هذا المدخل للمنصّة كافيا لمن لم يكن يعرفها أو له استفسارات بخصوص تجهيز حساب فيها. و كنصيحة ننهي بها المقال, حاول الى جانب تنمية مهاراتك أن تنمّي قدرتك على عرض تلك المهارات و لا تتركها مخزّنة أين لا يراها أحد.