أعلم أنه خاص بالبرمجة لكن هل هدفه عرض الكود أو مشارمته ام ماذا ؟؟؟
ماهو موقع github وفيم يستعمل ؟؟
لتعرف ما هو موقع Github وما فائدته التي قدمها للمبرمجين عليك أن تعرف أولا ما هو GIT
أنصحك بقراءة مقالات من موقع / git بالعربي
ال Github هو web service كتطبيق لفكرة الـ version controlling system باستخدام ال Git
في السطر السابق ثلاث نقاط يجب توضيحها و فهم الفرق بينها حتى نعرف ماهو ال Github و هل هو الوحيد من نوعه أم أن هناك بدائل أخرى.
Version controlling system
في دورة حياة أي كود , تكون عملية التعديل على الكود القديم وتطويره أو إصلاح bug أكثر من عملية إضافة كود جديد. ويأتي مع هذه التغيرات صعوبة في تتبعها ومعرفة من المسؤول عنها و متى تمت إضافتها و سبب الإضافة و الترتيب الزمني للإضافة. غالبا عندما يقرأ المبرمج الكود الذي كتبه بنفسه قبل مدة لا يتذكر سبب التعديل, والذي يكون الإجابة عن سؤال لماذا تم التعديل بهذه الطريقة دون سواها.
هل فكرت من قبل كيف تتوزع النسخ بين المبرمجين عندما يعمل أكثر من مبرمج على نفس المشروع من دون أن يعطل أحدهم عمل الآخر ؟ وكيف يتم دمج التغييرات الجديدة دون إحداث أضرار في الكود القديم ؟ ودون إحداث تضارب في حالة أن يتم التعديل على نفس الجزء من الكود ؟ والأهم, في حالة إضافة جديدة على الكود و اكتشف المبرمج انها تؤثر سلبا على المستخدمين, كيف يستطيع ان يلغي هذه التعديلات ؟ كيف أعود بالزمن إلى نسخة نضيفة و runnable من الكود بأقل وقت ممكن ؟
إستخدام الـ Version controlling system و اختصاراً VCS, هو الإجابة عن كل ما سبق.
هو نظام يقوم بتتبع و إدارة نسخ من الكود نفسه. ويتم التعامل مع جميع التعديلات التي تطرأ على الكود على أنها نسخ منفصلة.
ال Git
هو أحد التطبيقات العملية لفكرة الـ version controlling system و الأكثر انتشاراً. إستخدامه يجعل حياة المبرمج أسهل سواء كان يعمل على كود صغير أم كبير , منفرد أم ضمن فريق كبير.
إذا قرر المبرمج البدء بتنظيم نسخ من الكود باستخدام ال git يمكنه البدء عن طريق ال command line أو أي برنامج source tree. وتهيئة الكود تعني إنشاء folder يحتوى على الكود بالاضافة لملف لتتبع التغيرات.
أما في حالة أن المبرمج يعمل على كود بالتزامن مع عدة أشخاص, لا يتم حفظ الكود و تتبع التغيرات محليا على جهاز المبرمج فقط, بل على web service . في الواقع كل من المبرمجين يحتفظ بنسخة من الكود محليا و يتم دمج التغييرات من و إلى النسخة الاساسية بناءاً على طلب المبرمج لاحقاً باستخدام ال Git.
GitHub
والأن نأتي لكل من ال gitlab و ال github وما يشبههم من مواقع لها نفس الهدف, جميعها تندرج تحت web service لاحتضان هذه المشاريع التي يتم إدارتها باستخدام ال Git و تتميز هذه المواقع عن بعضها بميزات مختلفة.
الخلاصة
تعلمك لإستخدام الـ Git في حياتك اليومية كمبرمج هو ضرورة حتمية, كما أنه مطلب أساسي عند التقدم لوظيفة كمبرمج وهناك العديد من الدروس والدورات التعليمية التي تتحدث بالتفصيل عن طريقة تهيئة الكود و ال commands التي يجب علينا استخدامها للتعامل مع git.
رابط المقال :
التعليقات