يُشير إلى فرع من المشروع الأصلي، ويتم استخدامه في Git لإضافة تعديلات وإرسالها بعد ذلك. يُستخدم الفروع للعمل على تحسينات أو ميزات جديدة دون التأثير على
النسخة الأصلية.
- المستودع المحلي (Local Repo):
يُشير إلى المستودع الذي يتم العمل عليه محليًا على جهاز الكمبيوتر. يحتوي على نسخة محلية من المستودع البعيد يتم العمل عليها وإجراء التغييرات قبل رفعها إلى
المستودع البعيد.
- المستودع البعيد (Remote Repo):
يمكن أن يكون موقعًا مثل موقع GitHub أو خادم الشركة. يحتوي على نسخة مركزية من المستودع تُستخدم للتعاون ومشاركة التغييرات بين الفرق والمطورين.
- التعهد (Commit):
يعني تسجيل التغييرات أو النقاط المحددة في المستودع المحلي الخاص بك. يُعد التعهد “نقطة تفتيش” تُسجّل في المستودع المحلي ولكن هناك خطوات أخرى لنقل الشفرة
إلى المستودع الأصلي.
- الاستنساخ (Clone):
يُشير إلى استنساخ (نسخ) المستودع، سواء من المستودع المحلي أو المستودع البعيد إلى موقع آخر. يتيح لك الاستنساخ الحصول على نسخة محلية من المستودع للعمل عليها.
- رفع التغييرات المحلية إلى المستودع البعيد (Push):
يُستخدم لرفع التغييرات المحلية إلى المستودع البعيد، مثل GitHub. بعد إجراء التعديلات المطلوبة والتأكد منها، يتم استخدام هذا الأمر لرفع التغييرات ومشاركتها
مع الآخرين.
- استلام التغييرات من المستودع البعيد إلى المستودع المحلي (Pull):
يُستخدم لاستلام التغييرات من المستودع البعيد إلى المستودع المحلي الخاص بك. عندما يتم إجراء تغييرات على المستودع البعيد، يمكن استخدام هذا الأمر لجلب هذه
التغييرات إلى المستودع المحلي.
- طلب استلام (Pull Request):
يُستخدم لإخطار الآخرين بالتغييرات التي قمت بها وتحديث المستودع البعيد بتلك التغييرات. يتم إنشاء طلب استلام عندما ترغب في دمج التعديلات التي قمت بها في
فرعك المحلي مع الفرع الأصلي في المستودع البعيد.
ملاحظات مهمة:
يُفضل استخدام ملف README.md الذي يُعتبر امتدادًا للعلامة النصية Markdown (.md)، وهي لغة تُستخدم لتنسيق النصوص في GitHub وتحديد عناصر محددة مثل العناوين والحروف والقوائم ،ويُفضل استخدام Cmder بدلاً من سطر الأوامر الافتراضي (cmd)، حيث يدعم Cmder العديد من الأوامر التي لا تدعمها سطر الأوامر الافتراضي.
يُنصح بتثبيت Cmder عن طريق استخدام الأمر “install”. عندما تقوم بعملية استنساخ (clone) لمستودع (repo) على جهازك المحمول للعمل عليه وإجراء التعديلات، بعد
ذلك يمكنك إرسالها لفريق العمل الآخر باستخدام الأوامر التالية:
- قم بفتح Cmder وانتقل إلى المجلد الذي ترغب في استخدامه لمشاريع GitHub. على سبيل المثال، يمكنك إنشاء مجلد جديد في المسار “التنزيلات” وتسميته “My-Github”.
ثم، قم بالتنقل إلى المجلد الجديد باستخدام الأوامر التالية:
cd downloads
mkdir My-Github
cd My-Github
- بعد ذلك، قم بنسخ رابط المستودع (repo) من صفحة GitHub بعد إنشائه. ثم، استخدم الأمر التالي لنسخ المستودع إلى جهازك:
git clone رابط-المستودع
على سبيل المثال:
git clone https://github.com/اسم-المستخدم/اسم-المستودع.git
- بعد الانتهاء من العمل وإجراء التعديلات اللازمة، يمكنك إضافة الملفات التي تم إنشاؤها أو تعديلها إلى مرحلة الاستعداد (staging area) باستخدام الأمر `git add`. على سبيل المثال:
git add css/main.css index.html
يمكنك استخدام الرمز `*` لإضافة جميع الملفات التي تم تغييرها.
- بعد ذلك، قم بتأكيد التغييرات المستعدة باستخدام الأمر `git commit` وأضف رسالة وصفية للتغييرات التي تمت. على سبيل المثال:
git commit -m “إضافة ملفات CSS وملف index.html”
- بعد ذلك، يمكنك رفع التغييرات إلى المستودع البعيد (المستودع على GitHub) باستخدام الأمر `git push`. على سبيل المثال:
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) دون الدمج المباشر، يمكنك اتباع الخطوات التالية:
- تأكد من أنك على الفرع الصحيح الذي ترغب في رفع التغييرات منه. على سبيل المثال، قم بالتبديل إلى الفرع “Development” باستخدام الأمر:
git checkout Development
- قم بإرسال التغييرات إلى المستودع البعيد (remote repository) على GitHub باستخدام الأمر:
git push origin Development
- بعد إرسال التغييرات، يمكن للمسؤول (admin) على المستودع البعيد الدخول إلى صفحة المستودع على GitHub وسيجد طلب استدراج (pull request) جديد. يمكنه النقر
على “Compare & pull request” لفتح صفحة الاستدراج.
- يمكنه المراجعة الشاملة للتغييرات وإضافة عنوان ووصف للطلب، ثم النقر على “Confirm merge” وبعد ذلك “Merge pull request”. هذا سيدمج التغييرات المطلوبة إلى
الفرع الهدف (مثلاً الفرع “master” في هذه الحالة).
- بعد الدمج، يمكنك حذف الفرع “Development” المحلي باستخدام الأمر:
git branch -d Development
لإرسال الفرع المحذوف من الجهاز المحمول إلى المستودع البعيد على GitHub، يمكنك استخدام الأمر:
git push origin master
بهذه الخطوات، ستكون قد أنشأت طلب استدراج (pull request) وأجريت الدمج في المستودع البعيد بنجاح. يمكنك تكرار هذه العملية لإضافة المزيد من التغييرات وإرسالها
حسب الحاجة.
لمعرفة المزيد عن استخدام الأمر `git stash`، يمكنك استخدام الأوامر التالية:
- `git stash`: يستخدم لإخفاء التعديلات المؤقتة في مجلد “الـ stash”، وذلك للتركيز على فرع آخر أو لتنفيذ مهام أخرى دون دمج التعديلات الحالية.
- `git stash list`: يعرض قائمة بجميع التعديلات المؤقتة (الـ stash) التي تم إنشاؤها.
- `git stash pop`: يستعيد أحدث التعديلات المؤقتة (الـ stash) ويحذفها من قائمة الـ stash.
- `git stash apply`: يستعيد أحدث التعديلات المؤقتة (الـ stash) دون حذفها من قائمة الـ 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):
- الوسوم الخفيفة (Lightweight Tags) والوسوم الموقّعة (Annotated Tags):
- الوسوم الخفيفة: تعتبر عبارة عن إشارة فقط إلى نقطة معينة في تاريخ المشروع دون أن تحتوي على معلومات إضافية. يتم إنشاؤها باستخدام الأمر `git tag اسم-الوسم`.
- الوسوم الموقّعة: تعتبر إشارة إلى نقطة معينة في تاريخ المشروع وتحتوي على معلومات إضافية مثل اسم الوسم والتاريخ واسم المستخدم ورسالة الوصف. يتم إنشاؤها
باستخدام الأمر `git tag -a اسم-الوسم -m “رسالة الوصف”`.
- عرض الوسوم:
- يمكنك عرض قائمة الوسوم المتوفرة باستخدام الأمر `git tag`.
- لعرض معلومات مفصلة حول وسم محدد، يمكنك استخدام الأمر `git show اسم-الوسم`.
- الوسوم المعروضة (Annotated Tags) على GitHub:
- عند إنشاء وسم موقّع على Git ورفعه إلى GitHub، يتم عرضه كإصدار مستقل على صفحة المشروع.
- يمكن للمستخدمين رؤية المعلومات المفصلة للوسم، بما في ذلك رسالة الوصف والتوقيع والملفات المتأثرة، عن طريق الانتقال إلى صفحة الوسم على GitHub.
- الوسوم والفروع (Tags and Branches):
- يمكن وضع وسم على أي نقطة في تاريخ المشروع، بما في ذلك الفروع.
- عندما تضع وسمًا على الفرع الحالي، فإن الوسم يتحرك مع تقدم الفرع ويبقى يشير إلى نقطة التوسع الحالية في الفرع.
- البحث عن الوسوم:
- يمكنك استخدام الأمر `git tag -l “اسم-الوسم”` للبحث عن وسوم تبدأ بنفس الاسم أو نمط معين.
- يمكنك استخدام الأمر `git show-ref –tags` لعرض جميع الوسوم الموجودة في المشروع.
تحديد الوسوم (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 بكل سهولة.
ملخص لأهم الأوامر:
- لرفع المشروع إلى مستودع 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
- استرجاع التغييرات غير المرغوبة في المشروع قبل الاستعcommit:
git reset –hard
git add .
كيفية استضافة موقع على GitHub Pages:
- استخدم الأوامر التالية:
git init
git remote add origin <رابط مستودع المشروع>
git status (اختياري للتحقق)
git add .
git commit -m “أي اسم أو رسالة”
git log (اختياري للتحقق من إنشاء الإصدار)
git push origin master
- من إعدادات المشروع على GitHub، اختر “Pages” وحدد الفرع الذي يحتوي على الملفات التي ترغب في استضافتها. انقر على “Save” وانتظر حتى يتم بناء الصفحة (Build)،
ثم قم بتحديث الصفحة لرؤية الموقع المستضاف.
هذه هي بعض الأوامر الهامة في Git وكيفية إنشاء إصدار (Release) واستضافة موقع على GitHub Pages. يمكنك استخدام هذه الأوامر لإدارة مشروعك بفعالية والتعاون
مع فريق العمل على GitHub.
إنشاء ملف تعريف محترف على GitHub:
لإنشاء ملف تعريف محترف على GitHub، يمكنك اتباع الخطوات التالية:
- قم بتسجيل الدخول إلى حسابك على GitHub على الموقع الرسمي
https://github.com
- في الشريط العلوي لصفحة GitHub الرئيسية، انقر على صورة الملف الشخصي في الزاوية العلوية اليمنى، ثم انقر على “Your profile” (ملفك الشخصي).
- ستظهر صفحة ملفك الشخصي. انقر على زر “Edit profile” (تعديل الملف الشخصي) الموجود بجانب صورتك الشخصية.
- ستنتقل إلى واجهة تحرير الملف الشخصي. يمكنك القيام بالعديد من الإجراءات هنا:
- تحميل صورة شخصية: يمكنك تحميل صورة شخصية لتمثيلك على الملف الشخصي. انقر على زر “Upload new picture” (تحميل صورة جديدة) واختر الصورة المناسبة من جهازك.
- تحرير المعلومات الشخصية: يمكنك تحرير الاسم، العنوان، الشركة، البريد الإلكتروني، والموقع الإلكتروني الخاصة بك. انقر على الحقل المراد تحريره وأدخل المعلومات
الجديدة.
- وصف الملف الشخصي: يمكنك كتابة وصف عن نفسك أو عن مشاريعك أو خبراتك. انقر على حقل “Bio” وأدخل الوصف الخاص بك.
- روابط التواصل الاجتماعي: يمكنك إضافة روابط للتواصل الاجتماعي الخاصة بك، مثل LinkedIn، Twitter، أو أي منصة أخرى. انقر على “Add a social link” (إضافة رابط اجتماعي) وأدخل الرابط واختر الأيقونة المناسبة.
ثم قم بتحديث الصفحة لرؤية الموقع المستضاف.
- إضافة الموقع: يمكنك إضافة موقع الويب الخاص بك إلى الملف الشخصي. انقر على “Add a website” (إضافة موقع ويب) وأدخل رابط موقعك.
- بمجرد الانتهاء من تحرير الملف الشخصي، انقر على زر “Save profile” (حفظ الملف الشخصي) في الأسفل.
بعد حفظ التغييرات، سيتم عرض ملفك الشخصي المحترف على GitHub بالشكل الجديد الذي قمت بتحديده. يمكنك العودة إلى الملف الشخصي في أي وقت لتعديل أو تحديث المعلومات
الخاصة بك.
كيفية عمل ملف README :
يعرف ملف README بأنه ملف نصي يتم وضعه في مستودع GitHub لتوضيح وشرح المشروع. يعتبر README أحد أهم العناصر التوثيقية للمشروع، حيث يوفر معلومات وإرشادات للمستخدمين
الآخرين حول كيفية استخدام المشروع وفهمه بشكل أفضل.
إليك بعض النصائح لإنشاء ملف README محترف:
- العنوان: يبدأ الملف README بعنوان يوضح اسم المشروع بوضوح.
- وصف المشروع: قم بتقديم وصف موجز وشامل للمشروع، يشرح ماهية المشروع وأهدافه وميزاته الرئيسية.
- توثيق التثبيت والاعتماديات: يوضح كيفية تثبيت وتشغيل المشروع بالإضافة إلى أي اعتماديات خارجية أو أدوات تكنولوجية مطلوبة.
- دليل الاستخدام: قم بتوضيح كيفية استخدام المشروع وتشغيله بشكل مفصل، بما في ذلك أمثلة وتوضيحات وشروحات للوظائف الرئيسية.
- الهيكل الملفات والمجلدات: إذا كان المشروع يحتوي على هيكل ملفات ومجلدات معين، يمكنك وصف هذا الهيكل وتوضيح وظيفة كل ملف أو مجلد.
- دليل المساهمة: إذا كنت ترغب في دعوة المساهمات من المطورين الآخرين في المشروع، يمكنك توضيح كيفية المساهمة وقبول الطلبات والمعايير المطلوبة للمساهمة.
- التراخيص وحقوق النشر: قد ترغب في إضافة معلومات حول التراخيص المستخدمة في المشروع وحقوق النشر الخاصة به.
- وحدات الاختبار: إذا كان لديك وحدات اختبار معينة للمشروع، يمكنك توضيح كيفية تشغيلها واختبار المشروع بشكل صحيح.
- توثيق الدعم والمساعدة: قد ترغب في توفير معلومات حول كيفية الحصول على الدعم أو طلب المساعدة في حالة وجود مشاكل أو أسئلة.
- اتصال وروابط: يمكنك إضافة معلومات الاتصال الخاصة بك وروابط إلى الموارد الإضافية المتعلقة بالمشروع، مثل صفحة المشروع على GitHub والمدونة الشخصية وغيرها.
يجب أن يكون ملف README مبسطًا وسهل القراءة، ويجب تحديثه بشكل منتظم بمرور الوقت لضمان أنه يعكس أحدث تغييرات ومستجدات المشروع.
استخدم لغة برمجة Markdown لتنسيق وتحسين قراءة ملف README، حيث يوفر Markdown إمكانية تنسيق النصوص وإدراج الروابط والصور بطريقة سهلة ومبسطة.
يمكنك أيضًا الاستفادة من أمثلة وقوالب README المتاحة على GitHub لتعزيز شكل ومحتوى ملف README الخاص بك.