إذا بدأت العمل على مشروع مع شخص ما ، فستحتاج إلى مشاركة مستودع(repository) git الخاص بك معه ، حتى يتمكن كلاكما من الاستفادة من التعاون ومشاركة التغييرات.
هنا يأتي دور شركة GitHub (أو غيرها مثل gitlab أو bitbucket). تم تصميم GitHub كخدمة استضافة لمستودعات(repositories) Git مع العديد من الميزات الإضافية. إنها في الأساس قاعدة بيانات عبر الإنترنت تتيح لك تتبع ومشاركة مشاريع التحكم في الإصدار (version control system) Git الخاص بك بعيدا عن جهاز الكمبيوتر/الخادم المحلي الخاص بك. لدى Github اشتراك مجاني و اخر مدفوع ، ولكن الاشتراك المجاني كافٍ جدًا لـ 99٪ من المستخدمين. بالإضافة إلى ذلك ، يعمل GitHub كواحد من منصات التواصل الاجتماعي للمبرمجين التي تتميز بـ
لإنشاء مستودع(repository) جديد على GitHub ، تحتاج إلى إنشاء حساب. في حالة عدم وجود حساب لديك بعد ، انتقل إلى https://github.com/signup. لا يجب أن يتطابق البريد الإلكتروني الذي تستخدمه لإنشاء حساب مع البريد الإلكتروني الذي استخدمته في خطوة ضبط إعدادات git كبريد إلكتروني محلي لـ git.
بعد التسجيل وتأكيد بريدك الإلكتروني ، قم بتسجيل الدخول وانتقل إلى صفحة GitHub الرئيسية.
والآن نحن مستعدون لإنشاء مستودع(repository) GitHub الأول الخاص بنا:
يمكنك العثور على خيار “New repository”
أسفل علامة “+”
بجوار صورة ملفك الشخصي ، في الزاوية العلوية اليمنى من شريط التنقل.
بعد النقر فوق الزر ، سيطلب منك GitHub تسمية المستودع(repository) الخاص بك وتقديم وصف موجز. لا تحتاج إلى إضافة ملف .gitignore أو README بعد. احتفظ بالمستودع فارغًا.
بعد ذلك ، سيقدم لك GitHub تعليمات مفصلة حول كيفية المتابعة بناءً على موقفك.
echo "# new-repository" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/<your-github-username>/<your-github-repository>.git
git push -u origin main
إذا كنت قد أنشأت بالفعل بعض (commits) محليًا.
git remote add origin https://github.com/<your-github-username>/<your-github-repository>.git
git branch -M main
git push -u origin main
ماذا حدث الآن؟
إذا قمت بإجراء خطوة ضبط إعدادات git ، يجب أن تتم مطالبتك لأول مرة بتسجيل الدخول إلى Git Credential Manager. استخدم الخيار الأول "تسجيل الدخول باستخدام متصفحك" ويجب أن يحدث أحد أمرين.
إذا كنت مسجلًا حاليًا الدخول إلى github.com
في متصفح الويب الخاص بك ، فيجب أن يطالبك بالسماح لـ Git Credential Manager بالوصول إلى GitHub. ما عليك سوى السماح بالوصول ويجب أن يكون ذلك.
إذا لم تكن مسجلًا الدخول في المتصفح بعد ، فيجب أن يفتح علامة تبويب جديدة لتسجيل الدخول وبعد ذلك السماح لـ Git Credential Manager.
بمجرد تأكيد هويتك بنجاح ، سيتذكر البرنامج تسجيل الدخول الخاص بك بشكل آمن من الآن فصاعدًا وسيسمح لك بالدفع إلى مستودعك(repository).
سيكون من الرائع توضيح أكثر تفصيلاً لبعض الأوامر السابقة. لذلك دعونا نتعمق في ذلك. إذا كنت ترغب في البدء في العمل على مشروع GitHub عن بُعد حيث قام صديقك أو زميلك في العمل بإضافتك كمساهم(contributor) ، فأنت بحاجة إلى تنزيل (clone) نسخة من مستودع(repository) git إلى جهاز الكمبيوتر الخاص بك.
<git clone <url.git
- يقوم بتنزيل مستودع بعيد إلى نظام محلي في مجلد يحمل نفس اسم المستودع. سيقوم أيضًا بإنشاء نسخة من الفروع عن بُعد تسمى origin.
<git push <origin> <branch
- يضع جميع عمليات ال(commits) المحلية في فرع(branch) المستودع(repository) البعيد على جهاز التحكم عن بُعد المسمى origin. (التي لم يتم دفعها بعد)
قد تتساءل عما يعنيه كلمة origin في الأمر أعلاه. يحدث أنه عند استنساخ مستودع(repository) بعيد إلى جهازك المحلي ، يقوم git بإنشاء اسم مستعار لك. في جميع الحالات تقريبًا ، يُطلق على هذا الاسم المستعار origin. إنه في الأساس اختصار لـ URL للمستودع البعيد. يمكنك بالطبع الحصول على العديد من الأجهزة البعيدة لمستودعك(repository) ، ولكن لا يمكن تسمية سوى واحد منها بالمنشأ.
git pull
- يجلب جميع التغييرات البعيدة و يدمجها مع التغييرات المحلية - هذا ما يجب عليك فعله قبل البدء في العمل على مهمة لضمان حصولك على أحدث إصدار من زملائك لتجنب المتاعب مع دمج الميزات لاحقًا. إنه في الأساس مجرد مزيج من عمليات git fetch
و git merge
.
للحصول على مزيد من المعلومات حول ما يفعله git merge
، قم بزيارة فصل التفرع(branching) التالي.
الآن ، يرجى التأكد من أنك تمكنت من push
مستودع git المحلي الخاص بك باستخدام poem.txt الذي قمت بإنشائه إلى GitHub
قبل المتابعة في المحاضرة.
حتى تقوم بالدفع(push) ، فإن معظم العمليات آمنة. عندما يشارك أشخاص آخرون في المشروع ، احرص على توخي الحذر الشديد مع "العمليات الخطرة" مثل إعادة التأسيس(rebasing) والدفع بالقوة (force pushing). يعد Git مثالاً على أنه ليس من الجيد دائمًا نسخ "إجابة ذكية" عشوائية من stackoverflow دون فهم الموقف - سواء كنت تعمل بمفردك أو حتى أكثر عندما تتعاون مع أشخاص آخرين.
استمتع بـ Git و GitHub!