Skip to content

Mohammed Khaled

Estimated reading time: 3 minutes

تعلم Git وGitHub: الفوائد في إدارة المشاريع والتعاون الفعّال:

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

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

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

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

السهولة في استخدام GitHub وواجهة المستخدم الرسومية (GUI):

بالاستفادة من واجهة GitHub السهلة الاستخدام وواجهة المستخدم الرسومية (GUI)، يمكن للمطورين استخدام ال Git بسهولة ويسر. يمكنهم الاستفادة من العمليات

البسيطة والميزات السلسة التي يوفرها الGit وGitHub. بالرغم من ذلك، فإن استخدام واجهة الأوامر يوفر مزيدًا من السيطرة والكفاءة، وبالتالي قد يكون من المفضل

لبعض المطورين.

أهمية تعلم Git وGitHub في إدارة المشاريع والتعاون البرمجي:

يعتبر تعلم Git وGitHub ضروريًا للمطورين الذين يرغبون في إدارة المشاريع بفعالية، والتعاون مع الآخرين في تحسين البرمجيات، والمساهمة في مجتمعات البرمجيات

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

المشاريع البرمجية والمشاركة فيها. يعزز تعلم Git وGitHub التعاون وتحسين البرمجيات بشكل فعّال.

مفهوم Git وGitHub وأهميتهما:

يعرف Git بأنه  نظام التحكم في الإصدار الموزع الذي يستخدم لتتبع تطور المشاريع وإدارة التغييرات. يتم تسجيل الإصدارات بواسطة Git عند إضافة ميزات جديدة أو

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

والمساهمة في المشاريع المفتوحة المصدر. يوجد أيضًا مواقع أخرى مشابهة لـ GitHub مثل GitLab و BitBucket

كيف يُبسط GitHub استخدام Git؟

يُبسّط GitHub استخدام Git من خلال توفير واجهة سهلة الاستخدام للتعامل مع Git. يمكن استخدام Git بدون GitHub من خلال رفع المشروع على خادم مركزي

باستخدام Git. بالإضافة إلى الموقع الإلكتروني لـ GitHub، يوجد تطبيق GitHub Desktop الذي يوفر واجهة مستخدم رسومية للتعامل مع Git بدلاً من استخدام سطر الأوامر.

ومع ذلك، يُفضل استخدام الأوامر النصية للحصول على مزيد من السيطرة والكفاءة.

لماذا يجب عليك تعلم Git؟

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

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

تنظيم الميزات المختلفة في المشروع.

المصطلحات الشائعة في Git وGitHub:

  1. المستودع (Repository):

يُشير إلى المكان الذي يتم فيه وضع الشفرة المصدرية الخاصة بالمشروع، ويُختصر باسم “Repo”. يعتبر المستودع مخزنًا لجميع الملفات والتاريخ التعديلات عليها.

  1. الفرع (Branch):

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

النسخة الأصلية.

  1. المستودع المحلي (Local Repo):

يُشير إلى المستودع الذي يتم العمل عليه محليًا على جهاز الكمبيوتر. يحتوي على نسخة محلية من المستودع البعيد يتم العمل عليها وإجراء التغييرات قبل رفعها إلى

المستودع البعيد.

  1. المستودع البعيد (Remote Repo):

يمكن أن يكون موقعًا مثل موقع GitHub أو خادم الشركة. يحتوي على نسخة مركزية من المستودع تُستخدم للتعاون ومشاركة التغييرات بين الفرق والمطورين.

  1. التعهد (Commit):

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

إلى المستودع الأصلي.

  1. الاستنساخ (Clone):

يُشير إلى استنساخ (نسخ) المستودع، سواء من المستودع المحلي أو المستودع البعيد إلى موقع آخر. يتيح لك الاستنساخ الحصول على نسخة محلية من المستودع للعمل عليها.

  1. رفع التغييرات المحلية إلى المستودع البعيد (Push):

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

مع الآخرين.

  1. استلام التغييرات من المستودع البعيد إلى المستودع المحلي (Pull):

يُستخدم لاستلام التغييرات من المستودع البعيد إلى المستودع المحلي الخاص بك. عندما يتم إجراء تغييرات على المستودع البعيد، يمكن استخدام هذا الأمر لجلب هذه

التغييرات إلى المستودع المحلي.

  1. طلب استلام (Pull Request):

يُستخدم لإخطار الآخرين بالتغييرات التي قمت بها وتحديث المستودع البعيد بتلك التغييرات. يتم إنشاء طلب استلام عندما ترغب في دمج التعديلات التي قمت بها في

فرعك المحلي مع الفرع الأصلي في المستودع البعيد.

ملاحظات مهمة:

يُفضل استخدام ملف README.md الذي يُعتبر امتدادًا للعلامة النصية Markdown (.md)، وهي لغة تُستخدم لتنسيق النصوص في GitHub وتحديد عناصر محددة مثل العناوين والحروف والقوائم ،ويُفضل استخدام Cmder بدلاً من سطر الأوامر الافتراضي (cmd)، حيث يدعم Cmder العديد من الأوامر التي لا تدعمها سطر الأوامر الافتراضي.

يُنصح بتثبيت Cmder عن طريق استخدام الأمر “install”. عندما تقوم بعملية استنساخ (clone) لمستودع (repo) على جهازك المحمول للعمل عليه وإجراء التعديلات، بعد

ذلك يمكنك إرسالها لفريق العمل الآخر باستخدام الأوامر التالية:

ثم، قم بالتنقل إلى المجلد الجديد باستخدام الأوامر التالية:

cd downloads

mkdir My-Github

cd My-Github

git clone رابط-المستودع

على سبيل المثال:

git clone https://github.com/اسم-المستخدم/اسم-المستودع.git

add`. على سبيل المثال:

git add css/main.css index.html

يمكنك استخدام الرمز `*` لإضافة جميع الملفات التي تم تغييرها.

git commit -m “إضافة ملفات CSS وملف index.html”

git push origin main

حيث “origin” هو اسم الـ remote و “main” هو اسم الفرع الذي ترغب في رفع التغييرات إليه.

بهذا، ستتمكن من رفع التغييرات التي قمت بها على المستودع البعيد ومشاركتها مع فريق العمل الآخر.

بالنسبة لسحب التغييرات من المستودع البعيد إلى الجهاز المحمول، يمكنك استخدام الأمر `git pull`. على سبيل المثال:

git pull origin

سيتم استلام التغييرات الموجودة في الفرع البعيد (remote branch) ودمجها مع الفرع الحالي (local branch) على جهازك.

بالنسبة للتكوينات (configurations) في Git، يمكنك تهيئة اسم المستخدم وعنوان البريد الإلكتروني باستخدام الأوامر التالية:

git config –global user.name

git config –global user.name “اسمك”

git config –global user.email

git config –global user.email “بريدك الإلكتروني”

يمكنك أيضًا استخدام الأمر `git config –list` لعرض جميع التكوينات المتاحة في Git.

بالنسبة لاستخدام الطريقة الثانية لإرسال التغييرات إلى المستودع البعيد وإنشاء طلب استدراج (pull request) دون الدمج المباشر، يمكنك اتباع الخطوات التالية:

  1. تأكد من أنك على الفرع الصحيح الذي ترغب في رفع التغييرات منه. على سبيل المثال، قم بالتبديل إلى الفرع “Development” باستخدام الأمر:

git checkout Development

  1. قم بإرسال التغييرات إلى المستودع البعيد (remote repository) على GitHub باستخدام الأمر:

git push origin Development

  1. بعد إرسال التغييرات، يمكن للمسؤول (admin) على المستودع البعيد الدخول إلى صفحة المستودع على GitHub وسيجد طلب استدراج (pull request) جديد. يمكنه النقر

على “Compare & pull request” لفتح صفحة الاستدراج.

  1. يمكنه المراجعة الشاملة للتغييرات وإضافة عنوان ووصف للطلب، ثم النقر على “Confirm merge” وبعد ذلك “Merge pull request”. هذا سيدمج التغييرات المطلوبة إلى

الفرع الهدف (مثلاً الفرع “master” في هذه الحالة).

  1. بعد الدمج، يمكنك حذف الفرع “Development” المحلي باستخدام الأمر:

git branch -d Development

لإرسال الفرع المحذوف من الجهاز المحمول إلى المستودع البعيد على GitHub، يمكنك استخدام الأمر:

git push origin master

بهذه الخطوات، ستكون قد أنشأت طلب استدراج (pull request) وأجريت الدمج في المستودع البعيد بنجاح. يمكنك تكرار هذه العملية لإضافة المزيد من التغييرات وإرسالها

حسب الحاجة.

لمعرفة المزيد عن استخدام الأمر `git stash`، يمكنك استخدام الأوامر التالية:

هذه الأوامر تساعدك في إدارة التعديلات المؤقتة والعودة إليها عند الحاجة.

تجاهل الملفات والمجلدات في Git:

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

ملف `.gitignore`. يتم وضع ملف `.gitignore` في الدليل الرئيسي للمستودع، ويحتوي على قواعد لتحديد الملفات والمجلدات التي يجب تجاهلها من قبل Git.

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

يمكن استخدام نماذج مطابقة للوايلدكارد (wildcard patterns) وقواعد نمطية (pattern rules) لتحديد عدة ملفات أو مجلدات في آن واحد.

على سبيل المثال، إذا كنت ترغب في تجاهل ملف يسمى “config.ini” وجميع ملفات السجلات التي تنتهي بامتداد “.log” وتقع داخل مجلد يسمى “logs”، يمكنك إضافة الملفات

التالية إلى ملف `.gitignore`:

config.ini

logs/*.log

بعد حفظ التغييرات في ملف `.gitignore`، سيتجاهل Git الملف “config.ini” وجميع الملفات التي تنتهي بامتداد “.log” داخل مجلد “logs” أثناء عمليات المراقبة والاستعداد

والرفع.

استخدام الوسوم (Tags) في Git:

تستخدم الوسوم في Git لتحديد نقطة محددة في تاريخ المستودع أو لوصف إصدار معين. الوسوم هي مؤشرات ثابتة وثابتة في المستودع ولا تتغير مع التعديلات اللاحقة.

لإنشاء وسم جديد، يمكنك استخدام الأمر `git tag` مع اسم الوسم:

git tag اسم-الوسم

على سبيل المثال، لوضع وسم “v1.0” في النقطة الحالية في تاريخ المستودع، يمكنك استخدام الأمر التالي:

git tag v1.0

يمكنك عرض قائمة الوسوم الموجودة في المستودع باستخدام الأمر `git tag` بدون أي وسم محدد:

git tag

بالإضافة إلى ذلك، يمكنك إنشاء وسم مع توضيحات إضافية باستخدام الوسم المؤشر (Annotated Tag). يمكنك استخدام الأمر `git tag` مع الخيار `-a` لإنشاء وسم مؤشر

وإضافة رسالة للوسم:

git tag -a اسم-الوسم -m “رسالة الوصف”

بعد إنشاء الوسم، يمكنك مشاركته مع الآخرين عن طريق رفعه إلى المستودع البعيد باستخدام الأمر `git push` مع الوسم:

git push origin اسم-الوسم

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

أوامر Git المهمة وإنشاء إصدار (Release) على GitHub:

قائمة الوسوم (Tags):

  1. الوسوم الخفيفة (Lightweight Tags) والوسوم الموقّعة (Annotated Tags):

باستخدام الأمر `git tag -a اسم-الوسم -m “رسالة الوصف”`.

  1. عرض الوسوم:
  1. الوسوم المعروضة (Annotated Tags) على GitHub:
  1. الوسوم والفروع (Tags and Branches):
  1. البحث عن الوسوم:

تحديد الوسوم (Tagging):

يمكنك تحديد الوسوم على نقطة محددة في تاريخ مشروعك في Git باستخدام الأمر التالي:

git tag اسم-الوسم

على سبيل المثال، إذا كنت ترغب في تحديد وسم لإصدار 1.0 من المشروع، يمكنك استخدام الأمر:

git tag v1.0

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

عرض المعلومات المتعلقة بالوسم:

يمكنك عرض المعلومات المفصلة حول وسم معين باستخدام الأمر التالي:

git show اسم-الوسم

على سبيل المثال، إذا كنت ترغب في عرض المعلومات حول الوسم v1.0، يمكنك استخدام الأمر:

git show v1.0

ستظهر لك المعلومات المتعلقة بالوسم مثل التعديلات التي تمت في ذلك الإصدار والملفات المتأثرة.

نشر الوسوم (Tagging):

لنشر وسم محدد إلى المستودع البعيد (remote repository) على GitHub، يمكنك استخدام الأمر التالي:

git push origin اسم-الوسم

على سبيل المثال، إذا كنت ترغب في نشر الوسم v1.0، يمكنك استخدام الأمر:

git push origin v1.0

ستتم إضافة الوسم إلى المستودع البعيد على GitHub، وبالتالي يمكن لفريق العمل الآخر الوصول إليه.

تبديل بين الوسوم (Checkout Tags):

يمكنك التبديل بين الوسوم والرجوع إلى حالة مشروعك في وسم معين باستخدام الأمر التالي:

git checkout اسم-الوسم

على سبيل المثال، إذا كنت ترغب في التبديل إلى الوسم v1.0، يمكنك استخدام الأمر:

git checkout v1.0

ستتحول مساحة العمل (working directory) إلى حالة المشروع في ذلك الوسم، وبالتالي يمكنك استعراض الملفات والتعديلات في ذلك الإصدار بدون التأثير على الإصدارات الأخرى.

حذف الوسوم (Tag):

لحذف وسم محدد محليًا، يمكنك استخدام الأمر التالي:

git tag -d اسم-الوسم

على سبيل المثال، إذا كنت ترغب في حذف الوسم v1.0 محليًا، يمكنك استخدام الأمر:

git tag -d v1.0

إذا كنت ترغب في حذف الوسم أيضًا من المستودع البعيد (remote repository)، يمكنك استخدام الأمر التالي:

git push origin –delete اسم-الوسم

على سبيل المثال، إذا كنت ترغب في حذف الوسم v1.0 من المستودع البعيد، يمكنك استخدام الأمر:

git push origin –delete v1.0

هذه هي بعض الأوامر الهامة المتعلقة بالوسوم (Tags) في Git. يمكنك استخدام هذه الأوامر لتحديد ونشر وعرض وحذف الوسوم في مشروعك على GitHub بكل سهولة.

ملخص لأهم الأوامر:

git init

git config –global user.name “اسم المستخدم الخاص بك على GitHub”

git config –global user.email “بريدك الإلكتروني”

git remote add origin <رابط المستودع>

git add .

git commit -m “رسالة أي محتوى”

git log (اختياري للتحقق من صحة الإصدار)

git push origin master

git add .

git commit -m “رسالة أي محتوى”

git log

git push origin master

git clone <رابط مستودع المشروع>

git commit -m “رسالة أي محتوى”

git push origin master

git log

git branch (لعرض الفروع الموجودة)

git checkout -b اسم-الفرع-الجديد

git pull origin master

git log

git reset –hard

git add .

كيفية استضافة موقع على GitHub Pages:

  1. استخدم الأوامر التالية:

git init

git remote add origin <رابط مستودع المشروع>

git status (اختياري للتحقق)

git add .

git commit -m “أي اسم أو رسالة”

git log (اختياري للتحقق من إنشاء الإصدار)

git push origin master

  1. من إعدادات المشروع على GitHub، اختر “Pages” وحدد الفرع الذي يحتوي على الملفات التي ترغب في استضافتها. انقر على “Save” وانتظر حتى يتم بناء الصفحة (Build)،

ثم قم بتحديث الصفحة لرؤية الموقع المستضاف.

هذه هي بعض الأوامر الهامة في Git وكيفية إنشاء إصدار (Release) واستضافة موقع على GitHub Pages. يمكنك استخدام هذه الأوامر لإدارة مشروعك بفعالية والتعاون

مع فريق العمل على GitHub.

إنشاء ملف تعريف محترف على GitHub:

لإنشاء ملف تعريف محترف على GitHub، يمكنك اتباع الخطوات التالية:

  1. قم بتسجيل الدخول إلى حسابك على GitHub على الموقع الرسمي

https://github.com

  1. في الشريط العلوي لصفحة GitHub الرئيسية، انقر على صورة الملف الشخصي في الزاوية العلوية اليمنى، ثم انقر على “Your profile” (ملفك الشخصي).
  2. ستظهر صفحة ملفك الشخصي. انقر على زر “Edit profile” (تعديل الملف الشخصي) الموجود بجانب صورتك الشخصية.
  3. ستنتقل إلى واجهة تحرير الملف الشخصي. يمكنك القيام بالعديد من الإجراءات هنا:

الجديدة.

اجتماعي) وأدخل الرابط واختر الأيقونة المناسبة.

  1. بمجرد الانتهاء من تحرير الملف الشخصي، انقر على زر “Save profile” (حفظ الملف الشخصي) في الأسفل.

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

الخاصة بك.

كيفية عمل ملف README :

يعرف ملف README بأنه ملف نصي يتم وضعه في مستودع GitHub لتوضيح وشرح المشروع. يعتبر README أحد أهم العناصر التوثيقية للمشروع، حيث يوفر معلومات وإرشادات للمستخدمين

الآخرين حول كيفية استخدام المشروع وفهمه بشكل أفضل.

إليك بعض النصائح لإنشاء ملف README محترف:

  1. العنوان: يبدأ الملف README بعنوان يوضح اسم المشروع بوضوح.
  2. وصف المشروع: قم بتقديم وصف موجز وشامل للمشروع، يشرح ماهية المشروع وأهدافه وميزاته الرئيسية.
  3. توثيق التثبيت والاعتماديات: يوضح كيفية تثبيت وتشغيل المشروع بالإضافة إلى أي اعتماديات خارجية أو أدوات تكنولوجية مطلوبة.
  4. دليل الاستخدام: قم بتوضيح كيفية استخدام المشروع وتشغيله بشكل مفصل، بما في ذلك أمثلة وتوضيحات وشروحات للوظائف الرئيسية.
  5. الهيكل الملفات والمجلدات: إذا كان المشروع يحتوي على هيكل ملفات ومجلدات معين، يمكنك وصف هذا الهيكل وتوضيح وظيفة كل ملف أو مجلد.
  6. دليل المساهمة: إذا كنت ترغب في دعوة المساهمات من المطورين الآخرين في المشروع، يمكنك توضيح كيفية المساهمة وقبول الطلبات والمعايير المطلوبة للمساهمة.
  7. التراخيص وحقوق النشر: قد ترغب في إضافة معلومات حول التراخيص المستخدمة في المشروع وحقوق النشر الخاصة به.
  8. وحدات الاختبار: إذا كان لديك وحدات اختبار معينة للمشروع، يمكنك توضيح كيفية تشغيلها واختبار المشروع بشكل صحيح.
  9. توثيق الدعم والمساعدة: قد ترغب في توفير معلومات حول كيفية الحصول على الدعم أو طلب المساعدة في حالة وجود مشاكل أو أسئلة.
  10. اتصال وروابط: يمكنك إضافة معلومات الاتصال الخاصة بك وروابط إلى الموارد الإضافية المتعلقة بالمشروع، مثل صفحة المشروع على GitHub والمدونة الشخصية وغيرها.

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

استخدم لغة برمجة Markdown لتنسيق وتحسين قراءة ملف README، حيث يوفر Markdown إمكانية تنسيق النصوص وإدراج الروابط والصور بطريقة سهلة ومبسطة.

يمكنك أيضًا الاستفادة من أمثلة وقوالب README المتاحة على GitHub لتعزيز شكل ومحتوى ملف README الخاص بك.

error: Content is protected !!