ربط Ubuntu مع GitHub: الدليل الشامل لإدارة المشاريع البرمجية باحتراف

目次

1. المقدمة

ما أهمية ربط Ubuntu مع GitHub؟

في السنوات الأخيرة، أصبح استخدام Git و GitHub أمرًا شائعًا في مجال تطوير البرمجيات وإدارة الأنظمة. بالنسبة للمهندسين والمبرمجين الذين يستخدمون بيئة Linux مثل Ubuntu، التكامل مع GitHub هو جزء أساسي من العمل اليومي.

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

لماذا نستخدم GitHub على Ubuntu؟

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

على سبيل المثال، يُستخدم الدمج بين Ubuntu و GitHub في الحالات التالية:

  • إدارة ومشاركة أكواد Python أو C++ على GitHub
  • المساهمة في مشاريع البرمجيات مفتوحة المصدر
  • نشر أعمالك كمحفظة أعمال شخصية

ماذا ستتعلم من هذا الدليل؟

في هذا الدليل، نشرح خطوات استخدام GitHub على Ubuntu بدءًا من الأساسيات وحتى بعض النقاط المتقدمة.

  • كيفية تثبيت Git على Ubuntu
  • إعداد Git لأول مرة وربط الاتصال باستخدام SSH
  • إنشاء وإدارة مستودعات GitHub
  • التكامل مع Visual Studio Code لتحسين الإنتاجية
  • حل المشاكل الشائعة والأسئلة المتكررة

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

2. تثبيت Git على Ubuntu

ما هو Git؟ لنفهم أساسياته

Git هو نظام إدارة إصدارات (VCS: Version Control System) يُستخدم لتتبع التغييرات في الشيفرة البرمجية، ويسمح بالعودة إلى نسخ سابقة أو التعاون بين عدة مطورين في نفس الوقت.

يتميز Git بسهولة التثبيت في بيئة Linux مثل Ubuntu. بالخطوات التالية، يمكنك تثبيته عبر الطرفية خلال دقائق.

طريقة تثبيت Git (باستخدام APT)

الطريقة الأكثر شيوعًا لتثبيت Git على Ubuntu هي باستخدام APT (Advanced Package Tool). اتبع الخطوات التالية:

1. تحديث قائمة الحزم

sudo apt update

هذا الأمر يقوم بجلب آخر تحديثات الحزم. تأكد من تنفيذه قبل أي تثبيت.

2. تثبيت Git

sudo apt install git

عندما يُطلب منك تأكيد التثبيت (Y/n)، اضغط على “y” ثم Enter لبدء التثبيت.

تأكيد تثبيت Git

بعد الانتهاء من التثبيت، تأكد عبر الأمر التالي:

git --version

إذا ظهر إصدار مثل ما يلي، فهذا يعني أن Git تم تثبيته بنجاح:

git version 2.34.1

رقم الإصدار قد يختلف حسب إصدار Ubuntu.

التثبيت عبر Snap (ملاحظة إضافية)

يمكنك أيضًا تثبيت Git باستخدام الأمر snap، لكن يفضل استخدام APT لأنه أكثر شيوعًا واستقرارًا في معظم الحالات.

3. الإعدادات الأولية لـ Git

ما هي الإعدادات الأساسية التي يجب تنفيذها قبل استخدام Git؟

بعد تثبيت Git، يجب إعداد معلومات المستخدم وطرق التوثيق. هذه الإعدادات مهمة للتعامل مع المستودعات البعيدة والتعاون ضمن الفريق.

ضبط اسم المستخدم والبريد الإلكتروني في Git

يقوم Git بحفظ اسم المستخدم والبريد الإلكتروني مع كل عملية “commit”. يجب تعيينهما مقدمًا.

أوامر الإعداد

git config --global user.name "اسمك"
git config --global user.email "you@example.com"

لا يشترط تطابق هذه البيانات مع حساب GitHub، لكن يُفضل ذلك لتسهيل الربط بين العمليات وحسابك على GitHub.

تأكيد الإعدادات

git config --list

يعرض هذا الأمر جميع الإعدادات الحالية.

توليد مفتاح SSH وتسجيله في GitHub

يمكن استخدام HTTPS، لكن ضبط الاتصال عبر SSH يوفر أمانًا أكبر ويلغي الحاجة لإدخال كلمة المرور كل مرة.

1. توليد مفتاح SSH

ssh-keygen -t ed25519 -C "you@example.com"

اتبع التعليمات بالضغط على Enter عدة مرات، وسيتم إنشاء زوج المفاتيح في ~/.ssh/id_ed25519 (خاص) و ~/.ssh/id_ed25519.pub (عام).

2. تفعيل عميل SSH وإضافة المفتاح

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

الآن المفتاح جاهز للاستخدام.

3. إضافة المفتاح العام إلى GitHub

انسخ محتوى المفتاح العام:

cat ~/.ssh/id_ed25519.pub

انسخ كل النص الظاهر وسجله في حسابك على GitHub باتباع الخطوات التالية:

  1. سجّل الدخول إلى GitHub
  2. انقر على صورة الملف الشخصي → “Settings”
  3. اختر “SSH and GPG keys” من القائمة الجانبية
  4. اضغط على “New SSH key” والصق المفتاح، ثم احفظ التغييرات

4. اختبار الاتصال عبر SSH

اختبر الاتصال بالأمر التالي:

ssh -T git@github.com

أدخل “yes” عند سؤالك عن الثقة بالمضيف. إذا نجح الاتصال ستظهر رسالة مشابهة لما يلي:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

خطوات مقترحة بعد الإعداد

بعد إتمام الإعدادات، يمكنك تنفيذ أوامر مثل clone و push و pull على مستودعات GitHub. في القسم التالي نشرح كيفية إنشاء وإدارة المستودعات على GitHub.

4. إدارة مستودعات GitHub

إنشاء مستودع جديد على GitHub

بعد تسجيل الدخول إلى GitHub، يمكنك إنشاء مستودع جديد بسهولة.

خطوات الإنشاء (عبر المتصفح)

  1. من الصفحة الرئيسية في GitHub، اضغط على زر “+” في الأعلى ثم “New repository”
  2. أدخل المعلومات التالية:
  • اسم المستودع (Repository name): مثال my-first-repo
  • الوصف (اختياري): شرح بسيط للمشروع
  • عام / خاص: اختيار نوعية الوصول
  1. اضغط على “Create repository”

ستظهر لك رابط المستودع الجديد، استخدمه للعمليات مثل clone.

استنساخ مستودع GitHub موجود

لاستنساخ المستودع إلى جهازك المحلي (على Ubuntu)، استخدم:

git clone git@github.com:your-username/my-first-repo.git

هذا مثال للاتصال عبر SSH. عنوان HTTPS يختلف.

سيتم إنشاء مجلد باسم my-first-repo في المسار الحالي ويحوي جميع الملفات.

تعديل الملفات، تجهيزها، وتأكيد التغييرات (Commit)

1. إضافة أو تعديل ملف

مثال لإنشاء ملف جديد:

echo "# أول تجربة مع GitHub" > README.md

2. تجهيز التغييرات (Staging)

git add README.md

الـ “staging” تعني اختيار التغييرات التي سيتم تضمينها في الـ commit القادم.

3. تأكيد التغييرات (Commit)

git commit -m "أول Commit: إضافة README.md"

تم الآن حفظ التغييرات محليًا في السجل.

إرسال التغييرات إلى GitHub (Push)

لرفع التغييرات إلى المستودع البعيد على GitHub:

git push origin main

إذا كان اسم الفرع الأساسي مختلفًا (مثل master)، غيّره حسب الحاجة.

سحب التغييرات من المستودع البعيد (Pull)

للحصول على آخر التغييرات من GitHub:

git pull origin main

سيتم دمج التغييرات في الفرع المحلي.

عمليات إضافية شائعة

  • عرض المستودعات البعيدة:
git remote -v
  • إضافة مستودع جديد:
git remote add origin git@github.com:your-username/another-repo.git
  • يمكنك أيضًا إدارة ملفات مثل README.md و .gitignore بنفس الطريقة.

5. التكامل مع Visual Studio Code

VS Code هو محرر مثالي للعمل مع Git

عند استخدام GitHub على Ubuntu، يُنصح باستخدام Visual Studio Code (VS Code) لزيادة الإنتاجية. VS Code هو محرر مفتوح المصدر من تطوير Microsoft ويتميز بتكامل قوي مع Git. يتيح لك تنفيذ عمليات مثل commit و push ومراجعة التغييرات عبر واجهة رسومية سهلة للمبتدئين.

طريقة تثبيت VS Code (Ubuntu)

اتبع الخطوات التالية لتثبيت VS Code على Ubuntu:

1. إضافة مستودع Microsoft

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

2. تسجيل مستودع البرمجيات

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

3. تثبيت VS Code

sudo apt update
sudo apt install code

بعد التثبيت، شغّل VS Code بكتابة code في الطرفية.

ميزة Git مضمنة في VS Code

يأتي VS Code مدمجًا مع أدوات Git ولا يحتاج إلى إضافات لتشغيل Git، لكن توجد إضافات تعزز التجربة مثل:

  • GitHub Pull Requests and Issues
    يسهل إدارة Pull Requests و Issues عبر الواجهة الرسومية.
  • GitLens
    يعرض تاريخ التغييرات ومن قام بها على مستوى كل سطر.

العمليات الأساسية على Git من داخل VS Code

فتح مستودع في VS Code

انتقل إلى مجلد المشروع في الطرفية، ثم نفّذ:

code .

سيفتح VS Code المشروع ويحمّل ملفات المستودع.

مراجعة التغييرات وتأكيدها

  • اضغط على أيقونة “إدارة الشيفرة” في الشريط الجانبي
  • ستظهر قائمة الملفات المعدلة
  • اختر ملفًا لعرض الفروقات
  • أدخل رسالة commit واضغط علامة “✓” لتأكيده

عمليات Push و Pull

  • من قائمة “…” في الشريط الجانبي اختر “Push” أو “Pull”
  • أو من شريط الحالة السفلي

يمكنك أيضًا استخدام الطرفية داخل VS Code

باستخدام الطرفية المدمجة (Ctrl +) يمكنك الجمع بين الواجهة الرسومية والأوامر النصية حسب الحاجة.

نصائح لحل المشاكل الشائعة

  • في حال ظهور مشاكل في الاتصال عبر SSH، تحقق من صحة المفاتيح والإعدادات في VS Code
  • قد تحتاج إلى إعادة ضبط بيانات الاعتماد أو استخدام Personal Access Token (PAT) لإعادة المصادقة

6. حلول المشاكل الشائعة (Troubleshooting)

خطأ SSH: “Permission denied (publickey).”

الأسباب المحتملة

  • مفتاح SSH لم يتم إنشاؤه أو تسجيله بشكل صحيح
  • المفتاح العام لم يُضف إلى GitHub
  • عميل SSH لم يتعرف على المفتاح

الحلول

  1. تحقق من وجود المفتاح:
   ls ~/.ssh/id_ed25519.pub

إذا لم يكن موجودًا، أنشئه:

   ssh-keygen -t ed25519 -C "your_email@example.com"
  1. شغل عميل SSH وأضف المفتاح:
   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_ed25519
  1. انسخ المفتاح العام وأضفه إلى GitHub:
   cat ~/.ssh/id_ed25519.pub

→ أضفه في قسم “SSH and GPG keys” على GitHub

  1. اختبر الاتصال:
   ssh -T git@github.com

خطأ في المصادقة عند الاتصال عبر HTTPS: طلب اسم المستخدم أو كلمة المرور

السبب

  • تم إيقاف المصادقة بكلمة المرور، ويجب الآن استخدام Token

الحل

  1. أنشئ Personal Access Token من GitHub
    https://github.com/settings/tokens
    → فعّل الخيار repo
  2. عند المصادقة، أدخل اسم المستخدم (GitHub) وكلمة المرور (Token)
  3. لتذكر المصادقة، فعّل الكاش بالأمر التالي:
   git config --global credential.helper cache

خطأ “fatal: not a git repository”

السبب

  • الأمر git تم تنفيذه في مجلد ليس مستودع Git

الحل

  • انتقل إلى مجلد المستودع قبل التنفيذ:
  cd ~/your-project-directory
  • أو أنشئ مستودعًا جديدًا:
  git init

في حال حدوث تضارب (Conflict) أثناء الدمج

السبب

  • تم تعديل نفس الجزء من الملف من أكثر من شخص في نفس الوقت

الحل

  1. عند ظهور الخطأ بعد git pull، افتح الملف المتأثر في المحرر
  2. ستظهر علامات مثل:
   <<<<<<< HEAD
   تعديلاتك
   =======
   تعديلات الآخر
   >>>>>>> origin/main
  1. اختر أو دمج التغييرات، وامسح العلامات، ثم احفظ الملف
  2. نفذ:
   git add .
   git commit

خطأ “remote: Repository not found.”

السبب

  • رابط المستودع غير صحيح
  • لا تملك صلاحية الوصول إلى المستودع

الحل

  • تحقق من الرابط:
  git remote -v
  • إذا كان هناك خطأ، عدّل الرابط:
  git remote set-url origin git@github.com:your-username/your-repo.git

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

7. الأسئلة الشائعة (FAQ)

س1. ما الفرق بين Git و GitHub؟

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

  • Git: إدارة التغييرات محليًا بدون إنترنت
  • GitHub: حفظ السجل في السحابة ومشاركة العمل مع الآخرين

س2. أيهما أفضل: الاتصال عبر SSH أم HTTPS؟

ج:
يُنصح باستخدام SSH للأسباب التالية:

  • لا تحتاج لإدخال كلمة مرور في كل مرة
  • أكثر أمانًا وأسهل على المدى الطويل

لكن في بعض البيئات (الشركات أو الشبكات) قد يُفرض استخدام HTTPS.

س3. كيف أستخدم أكثر من حساب GitHub على Ubuntu؟

ج:
أنشئ مفتاح SSH لكل حساب، واضبط ملف SSH config لتحديد أي مفتاح يُستخدم مع كل حساب.

  1. أنشئ مفتاحًا لكل حساب، مثل: ~/.ssh/id_ed25519_work و ~/.ssh/id_ed25519_personal
  2. في ملف ~/.ssh/config، أضف ما يلي:
   Host github.com-work
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_work

   Host github.com-personal
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_personal
  1. عدّل عنوان الريموت في .git/config أو استخدم:
   git remote set-url origin git@github.com-work:your-work-user/your-repo.git

س4. هل يمكن إدارة Git عبر واجهة رسومية؟

ج:
نعم، يمكنك استخدام Visual Studio Code لإدارة عمليات Git عبر الواجهة الرسومية، وهو مثالي للمبتدئين.

س5. ماذا يحدث عند حذف الريموت من GitHub؟

ج:
عند حذف الريموت على GitHub، يبقى المستودع المحلي كما هو. لكن لن تستطيع دفع (push) التغييرات حتى تعيد ضبط عنوان الريموت.

لتغيير عنوان الريموت:

git remote set-url origin git@github.com:new-user/new-repo.git

س6. لا أجيد استخدام الطرفية، هل توجد برامج GUI لإدارة Git؟

ج:
يمكنك استخدام أحد برامج إدارة Git الرسومية التالية:

  • GitKraken
  • Sourcetree (لا يعمل على Linux مباشرة، يمكن تجربته عبر Wine)
  • Visual Studio Code (يدعم Git داخليًا)

يوصى لمستخدمي Ubuntu باستخدام VS Code مع إضافة GitLens.

س7. إلى أي مدى يمكن الرجوع بتاريخ Git؟

ج:
يحفظ Git جميع التغييرات من أول commit. استخدم الأمر التالي لاستعراض السجل:

git log

لمشاهدة سجل ملف معين فقط:

git log path/to/file