القائمة الرئيسية

الصفحات

كل ما تحتاجه للتعرف على كنز المبرمجين حول العالم موقع Github كيفية التعامل مع المشاريع مفتوحة المصدر

 

ما هو جيتهاب Github ؟ دليل المبتدئين لاستخدام موقع غيتهاب










ما هو نظام التحكم في الإصدار؟

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

  • التغييرات التي تم إجراؤها.
  • من قام بالتغييرات.
  • متى تم إجراء التغييرات.
  • لماذا كانت هناك حاجة للتغييرات.



ما هو موقع جيتهاب Github ؟

لنستطيع فهم موقع Github علينا أولاً فهم الاسم , فالاسم ينقسم لجزأين Git-Hub و جيت Git هي تقنية متبعة لادارة الاصدارات و العمل المشترك على مشاريع البرمجة او الأكواد بشكل عام , اما Hub فترجمتها الحرفية المركز الرئيسي , و يقصد بها هنا مركز تجميع هذه الاصدارات , وقد تحدثنا في مقال سابق عن Git بعنوان تعرف على Git طريقة سهلة وبسيطة لمشاركة مشاريعك والعمل مع الزملاء .

وفي عودة لجيتهاب , فبعد تعرفنا على تقنية Git ستجد ان مشاريعك التي قمت بمشاركتها باستخدام تقنية Git ستحتاج الى مكان لتبقى فيه , وهنا يأتي دور جيت هاب ,جيتهاب هو موقع لتجميع المشاركات والمشاريع التي يتم عملها باستخدام تقنية Git , وفي واقع الأمر , لا يمكنك رفع مشروع مباشرة الى موقع Github بل عليك ان تكون قد قمت بانشاء المشروع على جهازك الخاص ومن ثم رفعه - عبر سطر الأوامر او برامج مخصصة - الى حسابك في جيت هاب . ولننتقل اﻵن الى الخطوة الأولى والأهم , انشاء حساب على موقع جيتهاب

انشاء حساب على موقع جيتهاب Github

عند دخولك الى الصفحة الرئيسية في موقع جيتهاب , سيظهر لك نموذج Form لتسجيل الدخول او لتسجيل حساب جديد تماماً كأي موقع آخر , ستقوم بادخال معلوماتك وتفعيل بريدك الإلكتروني كأي موقع آخر تماماً , والرائع في الموضوع انه يمكنك استخدام غيتهاب مجاناً و يقدم الموقع بعض الميزات الرائعة خصوصاً بعد ان تم الاستحواذ عليه من قبل مايكروسوفت في صفقة بلغت قيمتها حوالي ال 7.5 مليار دولار .









ما هو نظام Git و GitHub وما الفرق بينهما؟

جدول المحتويات

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

ما هو Git؟ وما هو GitHub؟ وما الفرق بينهما؟

github

ما هو نظام التحكم في الإصدار؟

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

  • التغييرات التي تم إجراؤها.
  • من قام بالتغييرات.
  • متى تم إجراء التغييرات.
  • لماذا كانت هناك حاجة للتغييرات.

اقرأ أيضاً: ماهو نموذج DevOps؟ دليل المبتدئين لفهم DevOps لعام 2020

ما هو Git؟

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

يتم تثبيت Git وصيانته على نظامك المحلي – local system (بدلاً من السحابة) ويمنحك سجلاً قائماً بذاته لإصدارات البرمجة المستمرة.

يمكن استخدامه حصرياً تماماً لأي خدمة استضافة سحابية. لا تحتاج حتى إلى الوصول إلى الإنترنت، باستثناء تنزيله.

ماذا يتميز عن غيره من أنظمة التحكم

مقارنة بأنظمة التحكم (control systems) في الإصدارات الأخرى، فإن Git:

  • سريع الاستجابة.
  • سهل الاستخدام.
  • غير مكلف (مجاني في الواقع).

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

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


ما هو GitHub؟

في مناقشة Git vs.GitHub، يمكن إعتبار أن GitHub هي Git مثل Facebook في الحقيقة.

ماذا يعني ذلك؟

هذا يعني أنه على الرغم من أن Facebook يشبه إلى حد ما قاعدة البيانات المرئية التي تظهر لك عبر الإنترنت..
تم تصميم GitHub كخدمة استضافة مستودع Git.

وما هي بالضبط خدمة استضافة مستودع Git؟

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

لماذا هي ربحية؟

هذا لأنه، بالإضافة إلى تقديم جميع ميزات ومزايا Git، يوسع GitHub وظائف Git الأساسية.
إنه يقدم واجهة مستخدم بديهية للغاية وممثلة بيانياً، ويوفر للمبرمجين أدوات تحكم وإدارة مهام مدمجة.
يمكن تنفيذ ميزات إضافية عبر خدمة GitHub Marketplace.
نظراً لأن GitHub يستند إلى مجموعة النظراء (Git repositories)، يمكن الوصول إلى مستودعات Git الخاصة بالفرد عن بُعد بواسطة أي شخص مخول له، من أي جهاز كمبيوتر، فقط أنت بحاجة إلى إتصال بالإنترنت.

ماذا يفيد GitHub؟

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

تشبه هذه الفروع النسخ، ولا تنعكس التغييرات التي تم إجراؤها عليها في الدلائل الرئيسية على أجهزة المستخدمين الآخرين ما لم يختار المستخدمون دفع / سحب التغييرات لدمجها.

يتوفر أيضاً تطبيق سطح مكتب GitHub، والذي يوفر بعض الوظائف الإضافية للمطورين ذوي الخبرة.

ما هو الفرق بين Git و GitHub؟

ببساطة، Git هو نظام تحكم في الإصدار يتيح لك إدارة محفوظات شفرة المصدر وتتبعها.
GitHub، يمكن إعتبارها استضافة على السحابة تقوم بإدارة مستودعات Git.

إذا كان لديك مشاريع مفتوحة المصدر تستخدم Git، فإن GitHub مصمم لمساعدتك على إدارتها بشكل أفضل.

يأخذ GitHub الأشياء إلى أبعد قليلاً من Git، حيث يقدم المزيد من الوظائف والموارد، بالإضافة إلى مكان على الإنترنت لتخزين المشاريع والتعاون فيها.

أوامر Git الأساسية

يستخدم المطورون أوامر محددة لنسخ التعليمات البرمجية وإنشائها وتغييرها ودمجها.

فيما يلي بعض الأوامر الشائعة لاستخدام Git:

  • git init: يقوم بتهيئة مستودع Git جديد.
  • git clone: ينشئ نسخة محلية من مشروع موجود بالفعل عن بعد.
  • git merge: يدمج خطوط التطوير معاً. يستخدم هذا الأمر عادةً لدمج التغييرات التي تم إجراؤها على فرعين متميزين
  • git pull : يقوم بتحديث خط التطوير المحلي مع التحديثات من نظيره البعيد.
  • git push: يقوم بتحديث المستودع البعيد بأي التزامات يتم إجراؤها محليًا إلى أحد الفروع.

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




انشاء مشروعك الأول على جيتهاب Github

في جيتهاب , المشاريع تسمى Repository او بالعربية مستودع , وتختصر عادة بكلمة Repo فعند سماعك لهذه الكلمة اعلم تماماً ان المتحدث يقصد بها مستودع على جيتهاب , ويمكنك انشاء مستودع جديد على جيتهاب ببساطة عبر زر انشاء مستودع الموجود في موقع جيتهاب

وبعد الضغط على زر انشاء مستودع سيتم ارسالك الى الصفحة التالية :

وفي هذه الصفحة يمكنك وضع المعلومات الأساسية لمشروعك او بالاصح "مستودعك" الجديد على جيتهاب , ولنفصلها بشكل أكبر ...

Repository name اسم المستودع

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

Description الوصف

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

Public / Private

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

ملف README

ملف مشهور نوعاً ما , وهو ملف "اقرأني" يمكن هنا وضع معلومات عامة عن المشروع وكيف يعمل وما الفائدة منه , الأمر متعلق بك تماماً هنا ومتروك لإبداعك ...

Add ,gitignore , Add Licenses :

كما نعلم جميعاً ملف .gitignore هو ملف يساعد تقنية جيت على اهمال عدة ملفات وعدم رفعهم الى المشروع , كالملفات الاساسية وملفات الخاصة بأطر العمل مثلاً ... الخ اما اضافة Licenses فهي الشهادة التي يعمل بها المشروع , نوعاً ما عن احقية المستخدمين استخدام جزء او كل مشروعك من الناحية القانونية.

وهكذا , بعد أن قمت بتحديد معلومات مستودعك , قم بالضغط على زر Create Repository وسيتم انشاء المشروع وسيتم اعادة توجيهك الى الصفحة الرئيسية للمشروع , وفي بعض الحالات قد يتم توجيهك الى صفحة اعدادت المشروع , لا يمكننا تأكيد المعلومة هنا .

كيف أرفع ملفات المشروع الى مستودع جيتهاب Github ؟

وهنا المرحلة الحاسمة , الآن وبعد أن قمنا بانشاء مستودع جديد ستجد ان المستودع خال , ربما ملف README ان كنت قد اخترت انشائه وملفات ال LICENSE و .gitignore , الخطوة التالية هي رفع ملفات المشروع الفعلية , لنبدأ العمل ...

سنستخدم الطريقة الأفضل وهي سطر الأوامر , سنتجه لسطر الأوامر وننتقل للمشروع المناسب عبر أمر cd , ونقوم بتشغيل تقنية git في المشروع

cd path/to-project
git init 

وبعد ان قمنا بتفعيل تقنية git سنبدأ باضافة ملفات المشروع الى المرحلة الأولى :

git add . #Add All filse in your project except the ones you ignored in local .gitignore file ...
# Or You Can Add Single File
git add filename.ext #Add Just a Single File

بعد ذلك , عليك عمل Commit للتغييرات لحفظها مع رسالة معينة , تحتاج عمل ذلك في حال احتجت العودة الى مشروعك في نقطة معينة مثلاً

git commit -m "First Commit to Github Repository" 

الأمر السابق سيجمع جميع الملفات التي قمت باضافتها وسيرفق معها رسالة معينة من اختيارك , في حالتنا First Commit to Github Repository .

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

git remote add origin remote repository URL #https://github.com/your-repo-url
#You Can Get the Repo Url By Copy From the Browser Window ...
git remote -v
# Verifies the new remote URL

الآن سنقوم برفع الملفات الى خادم Github لتصبح متوفرة على الموقع , وعليك التنبه هنا من نقطة مهمة , الأمر الذي سنكتبه تالياً سيقوم بنشر الملفات الى العامة في حال كان المستودع عام Public وسيستطيع اي شخص الوصول الى الملفات , اما ان كان المستودع خاص Private فلا داع للقلق , لن يستطيع احد الوصول الى الملفات الا بعد ان تسمح انت له بذلك.

$ git push origin master

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

الآن سنضع فرضية بسيطة ان أحد زملائك قام بعمل تعديل ورفعه الى جيتهاب , فان تم هذا الامر سيمنعك موقع جيتهاب من رفع تعديلاتك قبل تنزيل التعديلات السابقة , لذا قبل ان تقوم بعمل تعديلاتك تأكد دائماً من تنفيذ الأمر التالي :

git pull origin master

بتنفيذ هذا الأمر , ستتأكد انك تمتلك أحدث نسخة من ملفات المشروع , ومن ثم يمكنك القيام بتعديلاتك ورفعها وتبليغ اعضاء الفريق ليقوموا بعمل git pull ايضاً .

ما المميز حول جيتهاب Github ؟

على الرغم من وجود منافسين كثر لجيتهاب الا انه الأفضل , لماذا ؟ اليك بعض الأرقام ...

عدد المشاريع (المستودعات) الموجودة على جيتهاب تجاوز عام 2019 ال 57 مليون مشروع , منها 28 مليون مشروع مفتوح المصدر يمكنك الاستفادة منها !

عدد المستخدمين في موقع جيتهاب 37 مليون مستخدم

يحتوي غيتهاب على مشاريع ضخمة ومهمة بشكل مفتوح المصدر منها بوتستراب , جيكويري , Node.js , نظام تشغيل جوجل فوشيا , FontAwsome وغيرها الكثير

من المشاريع المميزة على جيتهاب مشروع نواة لينكس بواسطة لينوس تروفالديس نفسه !

في النهاية ...

موقع جيتهاب Github من المواقع المهمة لكل مبرمج في مسيرته المهنية , في الواقع بعض الشركات تقيس خبرة المبرمج بنسبة مشاركته في المشاريع المفتوحة المصدر على جيتهاب , لذا لا تتردد في البدء في اكتشاف هذه المكتبة الهائلة من الأكواد , ابدأ الآن !






المصدر :  موقع نقرة 







هل اعجبك الموضوع :

تعليقات

التنقل السريع