شرح Git و GitHub للمبتدئين خطوة بخطوة
تعلّم Git وGitHub من الصفر: تثبيت Git، أول commit، رفع مشروعك إلى GitHub، واستخدام الفروع بأمان، مع شرح كل أمر بلغة بسيطة.
نُشر في 5 دقائق قراءة
محتويات المقال
Git أداة مجانية تسجّل كل تعديل تجريه على الكود، فتستطيع الرجوع إلى أي نسخة سابقة في أي وقت. أما GitHub فموقع يحفظ مشاريع Git على الإنترنت، لتأخذ منها نسخة احتياطية وتشاركها وتتعاون فيها مع الآخرين. باختصار: تستخدم Git على جهازك، ثم ترفع عملك إلى GitHub.
باختصار: ثبّت Git، نفّذ git init، احفظ لقطات من مشروعك بـ git add وgit commit، ثم اربط مستودعاً على GitHub وارفع إليه بـ git push.
ما الفرق بين Git و GitHub؟
كثيرون يخلطون بينهما، لكنهما شيئان مختلفان:
| Git | GitHub | |
|---|---|---|
| ما هو؟ | برنامج للتحكم في الإصدارات | موقع وخدمة على الإنترنت |
| أين يعمل؟ | على جهازك | في السحابة |
| يحتاج إنترنت؟ | لا | نعم |
| وظيفته | تتبّع التعديلات وحفظ التاريخ | استضافة المستودعات ومشاركتها والتعاون عليها |
يعمل Git بدون إنترنت تماماً. وGitHub واحد من عدة خدمات تستضيف مستودعات Git، ومنها أيضاً GitLab وBitbucket. نستخدم GitHub في هذا الشرح لأنه المكان الأشهر لمشاركة الكود.
الخطوة 1: ثبّت Git وعرّفه باسمك
- حمّل Git من موقعه الرسمي git-scm.com. على Windows، الإعدادات الافتراضية في المثبّت مناسبة للمبتدئين.
- على macOS، اكتب
git --versionفي Terminal، وسيعرض عليك النظام تثبيت أدوات سطر الأوامر من Apple، وهي تتضمن Git. - على Linux، ثبّته من مدير الحزم، مثلاً
sudo apt install git.
تأكد أن التثبيت نجح:
git --version
بعدها اضبط الاسم والبريد اللذين سيظهران على كل commit. استخدم نفس البريد المسجّل في حساب GitHub:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
هذه الخطوة تكفي مرة واحدة لكل جهاز.
الخطوة 2: أنشئ مستودعاً ونفّذ أول commit
المستودع (Repository) هو ببساطة مجلد مشروع يتابعه Git. افتح الطرفية (Terminal) داخل مجلد مشروعك واكتب:
git init -b main
ينشئ هذا الأمر مجلداً مخفياً اسمه .git يحفظ فيه Git التاريخ الكامل للمشروع. والجزء -b main يسمّي الفرع الأول main ليطابق الاسم الافتراضي في GitHub.
الآن اعرف ماذا يرى Git:
git status
ستظهر الملفات الجديدة على أنها غير متتبَّعة (untracked). لحفظها في التاريخ تحتاج خطوتين:
git add .
git commit -m "First commit"
- الأمر
git add .يضع كل الملفات المعدّلة في منطقة التجهيز (Staging Area)، وهي قائمة بما سيدخل في اللقطة التالية. - الأمر
git commit -m "..."يحفظ هذه اللقطة مع رسالة قصيرة تصف التعديل.
نفّذ git log --oneline لترى قائمة الـ commits، ولكل واحد منها معرّف قصير.
كيف تنتقل تعديلاتك: المناطق الثلاث
من المفيد أن تتخيل ثلاثة أماكن تمر بها ملفاتك، ثم GitHub:
- مجلد العمل (Working Directory): الملفات التي تعدّلها الآن.
- منطقة التجهيز (Staging Area): التعديلات التي اخترتها بـ
git addللـ commit القادم. - المستودع المحلي (Local Repository): الـ commits المحفوظة على جهازك.
- GitHub (المستودع البعيد): نسخة من مستودعك على الإنترنت، تحدّثها بـ
git push.
فائدة منطقة التجهيز أنك تستطيع حفظ جزء من عملك فقط. مثلاً git add index.html يجهّز ملفاً واحداً ويترك الباقي لـ commit لاحق.
الخطوة 3: ارفع مشروعك إلى GitHub
- أنشئ حساباً مجانياً على github.com إذا لم يكن لديك حساب.
- أنشئ مستودعاً جديداً من قائمة + أعلى الصفحة. اختر له اسماً، وحدّد إن كان عاماً أو خاصاً، واتركه فارغاً (لا تضف ملف README إذا كانت ملفاتك موجودة على جهازك).
- سيعرض لك GitHub رابط المستودع. اربط مشروعك المحلي به ثم ارفع:
git remote add origin https://github.com/your-username/my-project.git
git push -u origin main
كلمة origin مجرد اسم مختصر متعارف عليه لنسخة GitHub. والخيار -u يحفظ هذا الربط، فتكفيك في المرات القادمة كتابة git push فقط.

في أول مرة ترفع فيها، سيطلب منك Git تسجيل الدخول. على Windows يفتح Git Credential Manager غالباً نافذة في المتصفح لتسجّل فيها دخولك إلى GitHub. وإذا طُلبت منك كلمة مرور داخل الطرفية، فكلمة مرور حسابك العادية لن تعمل؛ استخدم Personal Access Token أو اضبط مفتاح SSH كما تشرح وثائق GitHub.
لتنزيل مشروع موجود على GitHub استخدم git clone مع رابطه. ولجلب التعديلات التي رُفعت من جهاز آخر نفّذ git pull.
الفروع: جرّب أفكارك دون أن تكسر الكود الأساسي
الفرع (Branch) خط عمل منفصل. تنشئه، وتجرّب فيه بحرية، ثم تدمجه في الفرع الرئيسي عندما يعمل بشكل صحيح:
git switch -c new-feature # إنشاء فرع والانتقال إليه
# ...عدّل الملفات ثم نفّذ add و commit كالمعتاد...
git switch main # العودة إلى main
git merge new-feature # دمج التعديلات في main
في GitHub، تفضّل الفرق عادةً رفع الفرع وفتح Pull Request بدلاً من الدمج على الجهاز. الـ Pull Request يعرض التعديلات ليراجعها الآخرون قبل دمجها.
أوامر ستستخدمها كل يوم
| الأمر | وظيفته |
|---|---|
git status |
يعرض الملفات المعدّلة والمجهّزة وغير المتتبَّعة |
git add <file> |
يجهّز ملفاً للـ commit القادم |
git commit -m "msg" |
يحفظ لقطة مع رسالة |
git log --oneline |
يعرض الـ commits بشكل مختصر |
git diff |
يعرض التعديلات غير المجهّزة بعد |
git push |
يرفع الـ commits إلى GitHub |
git pull |
ينزّل الـ commits الجديدة من GitHub ويدمجها |
git clone <url> |
ينسخ مستودعاً إلى جهازك |
إذا كنت تستخدم VS Code، فلوحة Source Control فيه تنفّذ نفس هذه الأوامر بالأزرار. راجع دليل إعداد VS Code لتجهيز المحرر.
أخطاء شائعة عند المبتدئين
- رفع الأسرار: كلمات المرور ومفاتيح API وملفات
.envلا تُرفع أبداً. أضفها إلى ملف.gitignoreقبل أول commit. وحذف السر لاحقاً لا يمحوه من التاريخ، لذلك غيّر أي مفتاح تسرّب فوراً. - commits ضخمة برسائل غامضة: احفظ تعديلات صغيرة مترابطة برسائل واضحة مثل "Add contact form validation".
- رفع المجلدات المولَّدة: مجلدات مثل
node_modulesأو ملفات البناء يمكن إعادة إنشائها، فأضفها إلى.gitignore. - العمل على
mainفقط: استخدم فرعاً لأي تجربة. - نسيان
git pull: إذا كنت تعمل من جهازين، ابدأ دائماً بسحب آخر التعديلات.
تعلّم Git من أول الأدوات الاحترافية التي يحتاجها كل مبرمج، لذلك مكانه مبكر في أي خطة لتعلم البرمجة من الصفر. وبعد رفع الكود إلى GitHub تستطيع نشر مواقع بسيطة مجاناً كما في دليل الاستضافة المجانية للمواقع، ويمكن للذكاء الاصطناعي أن يشرح لك رسائل أخطاء Git المربكة كما في استخدام الذكاء الاصطناعي في البرمجة.
أسئلة شائعة
هل GitHub مجاني؟
نعم. الخطة المجانية تسمح لك بإنشاء عدد غير محدود من المستودعات العامة والخاصة، وهذا يكفي تماماً للتعلم والمشاريع الشخصية. الخطط المدفوعة تضيف مزايا للفرق والشركات.
هل يجب أن أستخدم سطر الأوامر للعمل مع Git؟
لا. محرر VS Code فيه دعم مدمج لـ Git، وبرنامج GitHub Desktop يعطيك أزراراً للـ commit والـ push والـ pull. لكن تعلّم الأوامر الأساسية مفيد، لأن الشروحات ورسائل الأخطاء كلها تستخدمها.
لماذا يرفض GitHub كلمة المرور عند تنفيذ push؟
توقف GitHub منذ 2021 عن قبول كلمة مرور الحساب في عمليات Git عبر HTTPS. سجّل الدخول من نافذة المتصفح التي يفتحها Git Credential Manager (المرفق مع Git على Windows)، أو استخدم Personal Access Token أو مفتاح SSH.
هل يستطيع الآخرون رؤية الكود الخاص بي على GitHub؟
فقط إذا كان المستودع عاماً (Public). عند إنشاء المستودع تختار بين عام وخاص، ويمكنك تغيير ذلك لاحقاً من إعداداته. ولا ترفع أبداً كلمات المرور أو مفاتيح API حتى في مستودع خاص.
شروحات ذات صلة
البرمجة
كيف تستخدم الذكاء الاصطناعي في البرمجة: دليل عملي للمبتدئين
تعلّم كيف تستخدم أدوات الذكاء الاصطناعي مثل ChatGPT وClaude وGitHub Copilot لكتابة الكود وشرحه وإصلاح أخطائه، والأخطاء التي يجب أن تتجنبها.
· 5 دقائق قراءة
البرمجة
أفضل لغة برمجة تبدأ بها: كيف تختار لغتك الأولى؟
Python أم JavaScript؟ اعرف أفضل لغة برمجة تبدأ بها حسب هدفك: مواقع الويب، البيانات والذكاء الاصطناعي، تطبيقات الجوال أو الألعاب، وكيف تبدأ فعلاً.
· 5 دقائق قراءة
البرمجة
الفرق بين Frontend و Backend بشرح بسيط
الواجهة الأمامية Frontend هي ما تراه في المتصفح، والخلفية Backend هي الخادم والمنطق وقاعدة البيانات. تعرّف على الفرق واللغات وأي مسار يناسبك.
· 5 دقائق قراءة