شرح Git و GitHub للمبتدئين من الصفر: دليلك الشامل لعام 2026
📁 أحدث الأخبار التقنية

شرح Git و GitHub للمبتدئين من الصفر: دليلك الشامل لعام 2026

شرح Git و GitHub للمبتدئين بالعربي — الدليل الشامل خطوة بخطوة

Git و GitHub — الأدوات الأساسية في حياة أي مطوّر محترف

إذا كنت تتعلم البرمجة أو بدأت للتو مسيرتك كمطوّر، فمن المؤكد أنك سمعت عن Git وGitHub أكثر من مرة. وربما شعرت أنهما شيء معقد مخصص للمحترفين فقط. لكن دعني أخبرك من تجربتي المباشرة: تعلّم Git هو واحد من أفضل القرارات التي ستتخذها في مسيرتك التقنية — وهو أسهل بكثير مما يبدو عليه في البداية.

في هذا الدليل الشامل، سنبدأ من الصفر: ما هو Git؟ ما الفرق بينه وبين GitHub؟ كيف تثبّته؟ وكيف تستخدم أهم أوامره في مشاريعك الحقيقية؟ لن نكتفي بسرد الأوامر، بل سنفهم لماذا يُستخدم كل أمر وفي أي سياق — لأن هذا هو الفرق الحقيقي بين من يحفظ Git ومن يفهمه فعلاً.

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

⚡ ما الذي ستتعلمه في هذا الدليل؟
  • الفرق الحقيقي بين Git وGitHub
  • معمارية Git: Working Directory، Staging Area، Repository
  • تثبيت Git وإعداده لأول مرة
  • أهم أوامر Git من git init حتى git push
  • الـ Branching والـ Merging وحل تعارضات الكود
  • التعاون مع الفريق عبر GitHub و Pull Requests

المتطلبات الأساسية للبدء

قبل الغوص في Git، لست بحاجة إلى خبرة عميقة في البرمجة، ولكن يجب أن تمتلك بعض المهارات التقنية الأساسية:

  • التنقل الأساسي بين الملفات والمجلدات: معرفة كيفية تصفح الملفات وإنشائها.
  • استخدام سطر الأوامر (CLI): معرفة كيفية كتابة أوامر بسيطة جداً على (Terminal) أو (Command Prompt) أو (Git Bash) مثل cd للتنقل، و mkdir لإنشاء المجلدات، و touch لإنشاء الملفات.
  • محرر نصوص: تثبيت محرر نصوص أو أكواد مثل VS Code أو Sublime Text لفتح الملفات وتعديلها بسهولة.

ما هو Git ولماذا تحتاجه؟

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

تخيّل أنك عملت أسبوعين كاملين على مشروع برمجي، ثم جاءك العميل وقال: "أريد العودة للنسخة التي كانت قبل آخر تعديل". بدون Git، ستكون في مشكلة حقيقية. أما معه، فالعودة لأي نسخة سابقة تستغرق ثوانٍ فقط. هذا السيناريو لاحظته بنفسي أكثر من مرة في مشاريع حقيقية، وتحوّل من كارثة إلى مجرد أمر روتيني بسبب Git.

صمّم Git لينوس تورفالدس — المبرمج نفسه الذي أسّس نظام Linux — وطوّره عام 2005 ليحل مشكلة حقيقية كانت يعاني منها فريق تطوير Linux. منذ ذلك الحين، أصبح Git المعيار الصناعي الفعلي لإدارة الكود في كل مكان حول العالم.

الفرق بين Git و GitHub

الخطأ الشائع الذي أراه باستمرار بين المبتدئين هو الخلط بين Git و GitHub كأنهما نفس الشيء. إليك الفرق بشكل واضح:

النقطة Git GitHub
التعريف أداة تعمل على جهازك المحلي منصة سحابية لاستضافة مستودعات Git
يعمل بدون إنترنت؟ ✅ نعم ❌ يحتاج إنترنت
الغرض الأساسي تتبّع التغييرات وإدارة الإصدارات التشارك والتعاون وحفظ نسخة احتياطية
من طوّره؟ لينوس تورفالدس (2005) مملوك لـ Microsoft (2018)
التشبيه القهوة المقهى الذي يُقدَّم فيه القهوة

بعبارة أخرى: يمكنك استخدام Git بالكامل دون GitHub. لكن GitHub بدون Git لا معنى له. GitHub مجرد واجهة ويب تعمل فوق Git وتضيف إليه قدرات التعاون الجماعي والنشر والتوثيق.

معمارية Git: كيف يعمل من الداخل؟

قبل أن تكتب أي أمر، من المهم أن تفهم كيف يفكّر Git. المعمارية بسيطة جداً حين تفهمها، وهي أساس كل ما سيأتي بعد ذلك.

ينقسم Git إلى جزءين رئيسيين: المحلي (Local) على جهازك، والبعيد (Remote) على السحابة. أما العمل المحلي فيمر بثلاث مراحل:

  1. Working Directory (مجلد العمل): هنا تكتب وتعدّل ملفاتك. كل التغييرات التي تجريها تبدأ هنا. Git يراقب هذه التغييرات لكنه لم يحفظها بعد.
  2. Staging Area (منطقة التجهيز): حين تقرر أن تغيير معين جاهز للحفظ، تنقله إلى الـ Staging Area. هي مساحة وسيطة تقول فيها لـ Git: "هذه التغييرات جاهزة، أريد حفظها في المرحلة القادمة."
  3. Local Repository (المستودع المحلي): هنا تُحفظ التغييرات بشكل دائم مع سجل كامل لتاريخها. عبر أمر git commit تنقل ما في الـ Staging Area إلى هنا.

بعد الحفظ المحلي، يمكنك رفع عملك إلى Remote Repository على GitHub عبر git push. وللعكس — أي جلب تغييرات من GitHub إلى جهازك — تستخدم git pull.

رسم توضيحي لمعمارية Git: من Working Directory إلى Staging Area إلى Repository إلى GitHub

معمارية Git: رحلة الكود من جهازك حتى GitHub

كيف تثبّت Git وتُعدّه لأول مرة؟

التثبيت على Windows

توجّه إلى git-scm.com وحمّل أحدث إصدار. شغّل ملف الإعداد واترك الخيارات الافتراضية كما هي — فهي مناسبة للمبتدئين في معظم الحالات. بعد التثبيت ستجد برنامج Git Bash في جهازك، وهو الطرفية التي ستكتب فيها أوامر Git.

التثبيت على macOS

افتح الـ Terminal وشغّل: xcode-select --install وهذا سيثبّت Git ضمن أدوات Xcode Command Line Tools تلقائياً. بديلاً يمكنك استخدام Homebrew: brew install git

التثبيت على Linux (Ubuntu/Debian)

sudo apt update && sudo apt install git

الإعداد الأولي (مهم جداً)

بعد التثبيت، أول شيء تفعله هو تعريف هويتك لـ Git. هذا ضروري لأن كل commit سيحمل اسمك وبريدك:

git config --global user.name "اسمك"
git config --global user.email "بريدك@مثال.com"
  

للتحقق من الإعداد: git config --list

أوامر Git الأساسية خطوة بخطوة

كيفية إنشاء مشروع وتهيئة مستودع محلي (Local Repository)

قبل أن نستخدم Git، دعنا ننشئ مشروعاً صغيراً من الصفر باستخدام سطر الأوامر (Terminal) لنتدرب عليه كما تفعل في الحقيقة. افتح سطر الأوامر واكتب الأوامر التالية خطوة بخطوة لإنشاء مجلد وملفات للمشروع:

cd ~/Desktop                 # الانتقال إلى سطح المكتب
mkdir git-one                # إنشاء مجلد للمشروع باسم git-one
cd git-one                   # الدخول إلى المجلد الجديد
touch one.txt two.txt        # إنشاء ملفين نصيين
mkdir myfolder               # إنشاء مجلد فرعي
cd myfolder                  # الدخول للمجلد الفرعي
touch three.txt              # إنشاء ملف داخله
cd ..                        # العودة للمجلد الرئيسي (git-one)
  

1. بدء تتبع المشروع — git init

الآن أنت داخل مجلد مشروعك (git-one). لكي تجعل Git يبدأ بمراقبة هذا المجلد لتتبع التغييرات، شغّل الأمر:

git init
  

بمجرد التنفيذ، ستظهر لك رسالة تفيد بالتهيئة الناجحة (Initialized empty Git repository). ما حدث هو أن الأمر قام بإنشاء مجلد مخفي باسم .git داخل مجلد مشروعك. (يمكنك التأكد من ذلك بكتابة أمر ls -la الذي يُظهر الملفات المخفية). هذا المجلد هو عصب نظام Git وقاعدة البيانات التي تخزن كل تواريخ المشروع. تذكر قاعدة ذهبية: إياك أن تحذف أو تعدل ملفات مجلد .git يدوياً! حذفه يعني فقدان ذاكرة المشروع بالكامل.

2. مراقبة حالة الملفات — git status

هذا الأمر الأكثر استخداماً في يومك العملي. يُخبرك بحالة ملفاتك: هل هي معدّلة؟ هل هي في الـ Staging؟ هل هناك ملفات جديدة لم يلاحظها Git بعد؟

git status
  

من تجربتي، الخطأ الشائع الذي أراه هو أن المبتدئين يتجاهلون هذا الأمر ويقفزون مباشرة لـ git add. ابدأ دائماً بـ git status — يوفر عليك الكثير من الالتباس. وإذا أردت أن ترى ما الذي تغير بالضبط في الملفات قبل إضافتها، استخدم الأمر git diff.

💡 تجاهل الملفات غير الضرورية (.gitignore)
قبل إضافة الملفات، من الجيد إنشاء ملف باسم .gitignore تضع فيه أسماء الملفات التي لا تريد رفعها (مثل مجلد node_modules أو ملفات كلمات المرور).

3. إضافة الملفات للـ Staging — git add

بعد أن تُجري تغييراتك، تنقل الملفات التي تريد حفظها إلى الـ Staging Area:

git add filename.js       # إضافة ملف بعينه
git add .                 # إضافة كل الملفات المعدّلة
git add *.html            # إضافة كل ملفات HTML
  

4. حفظ العمل بشكل دائم — git commit

الـ Commit هو لحظة "التجميد" — تأخذ ما في الـ Staging وتحفظه للأبد في تاريخ المشروع:

git commit -m "Add login form with validation"
  

رسالة الـ Commit مهمة جداً. اكتبها باللغة الإنجليزية بصيغة فعل أمر مختصرة تصف ما فعلت. رسالة مثل "fix stuff" لا قيمة لها بعد أسبوع — أما "Fix null pointer in user auth" فتخبرك بالضبط ما حدث.

🚨 فخ شائع للمبتدئين (محرر Vim): إذا نسيت كتابة -m، سيفتح Git محرر نصوص غريب يُدعى Vim، ولن تعرف كيف تخرج منه! للخروج ببساطة، اضغط زر Esc، ثم اكتب :wq ثم اضغط Enter.
⚠️ نصيحة مهمة: كل Commit يجب أن يمثّل وحدة منطقية واحدة من العمل. لا تجمع عشر تغييرات مختلفة في Commit واحد. هذا يُصعّب التراجع لاحقاً ويجعل تاريخ المشروع غير قابل للقراءة.

5. عرض تاريخ التغييرات — git log

يعرض لك كل الـ Commits السابقة مع التاريخ والمؤلف والرسالة:

git log
git log --oneline          # عرض مختصر في سطر واحد لكل commit
git log --oneline --graph  # عرض شجري مع الـ Branches
  
مثال على ناتج أمر git log في الـ Terminal يُظهر تاريخ Commits

ناتج أمر git log — كل سطر يمثل نقطة حفظ يمكن العودة إليها

6. حذف الملفات وإزالتها من التتبع — git rm

بدلاً من حذف الملف يدوياً من مجلد المشروع ثم استخدام git add لتسجيل عملية الحذف، يمكنك اختصار هاتين الخطوتين في خطوة واحدة سريعة باستخدام أمر git rm. هذا الأمر يزيل الملف من جهازك ويجهّز عملية الحذف في الـ Staging Area تلقائياً.

git rm filename.txt          # حذف الملف نهائياً من الجهاز ومن Git
git rm --cached filename.txt # إزالة الملف من تتبع Git مع الإبقاء عليه في جهازك
  

خيار --cached مفيد جداً في مواقف معينة؛ على سبيل المثال، إذا قمت برفع ملف يحتوي على إعدادات سرية (مثل ملف .env) بالخطأ وتريد إيقاف تتبع Git له دون حذفه من جهازك. استخدام هذا الخيار يحذفه من تتبع Git فقط مع الإبقاء عليه بأمان في مجلد عملك.

7. مقارنة التغييرات بين إصدارين — git diff

في المشاريع الكبيرة، ستحتاج دائماً لمعرفة ما الذي تغير بدقة بين نسختين (Commits) مختلفتين لتتبع المشاكل أو مراجعة العمل. يمكنك تحقيق ذلك ببساطة عن طريق تمرير أرقام الـ Commit إلى أمر git diff:

git diff <first-commit-id> <second-commit-id>
  

سيعرض لك Git شاشة تقارن بين النسختين؛ حيث تظهر الأسطر المحذوفة باللون الأحمر (ومسبوقة بعلامة -)، والأسطر المضافة حديثاً باللون الأخضر (ومسبوقة بعلامة +). هذه الميزة تمنحك تحكماً ورؤية كاملة لتاريخ الكود. وللخروج من شاشة العرض والعودة لسطر الأوامر العادي، فقط اضغط على حرف q في لوحة المفاتيح.

الـ Branching والـ Merging: العمل المتوازي بدون فوضى

واحدة من أقوى مميزات Git هي الـ Branches (الفروع). الفكرة ببساطة: بدلاً من تعديل الكود الرئيسي مباشرةً وتخاطر بكسره، تنشئ "فرعاً" موازياً، تعمل فيه بحرية، ثم حين تنتهي تدمجه مع الرئيسي.

تخيّل أنك تعمل على ميزة جديدة (Feature) بينما زميلك يُصلح Bug في نفس الوقت. كل منكم يعمل في Branch مستقل، ولا يتعارضان، ثم يُدمجان العمل في النهاية. هذا تحديداً ما تعتمد عليه فرق التطوير الاحترافية يومياً.

أوامر الـ Branching الأساسية

git branch                        # عرض قائمة الـ Branches
git branch feature-login          # إنشاء Branch جديد
git checkout feature-login        # الانتقال إلى Branch
git checkout -b feature-login     # إنشاء والانتقال في أمر واحد
git branch -d feature-login       # حذف Branch بعد دمجه
  

دمج الفروع — git merge

بعد الانتهاء من عملك في الـ Branch، تعود للـ Branch الرئيسي (عادةً main) وتدمج:

git checkout main
git merge feature-login
  

تعارضات الدمج (Merge Conflicts) — لا تخف منها

حين يعدّل شخصان السطر نفسه في ملف واحد، يحدث ما يسمى Merge Conflict. Git سيوقف الدمج ويطلب منك حل التعارض يدوياً. ستجد في الملف علامات كهذه:

<<<<<<< HEAD
const user = getUser();
=======
const user = fetchUser();
>>>>>>> feature-login
  

الكود فوق ======= هو ما عندك، وتحته ما جاء من الـ Branch الآخر. احذف العلامات، اختر الكود الصحيح (أو ادمجهما)، ثم أضف الملف وأنجز Commit جديد.

GitHub والعمل مع المستودعات البعيدة

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

  1. سجّل الدخول على github.com
  2. اضغط على "New repository"
  3. اختر اسماً للمستودع وحدد هل هو Public أم Private
  4. لا تُضف README إذا كان عندك مشروع محلي موجود مسبقاً
  5. اضغط "Create repository"

ربط مشروعك المحلي بـ GitHub ورفعه (Push)

git remote add origin https://github.com/username/my-project.git
git branch -M main
git push -u origin main
  

الأمر الأول يُعرّف مسار مشروعك البعيد (Remote) باسم افتراضي هو origin. الأمر الثاني يُعيد تسمية الفرع الرئيسي إلى main (المعيار الحديث). والأمر الأخير يرفع مشروعك إلى GitHub لأول مرة. وإذا كنت تعمل على فرع آخر (Branch) مثل فرع staging وتريد رفعه ليكون مستقلاً على GitHub، ببساطة نفّذ الأمر التالي:

git checkout staging
git push origin staging
  
⚠️ تنبيه هام جداً (المصادقة في 2026): ألغى GitHub استخدام كلمة المرور لرفع الأكواد منذ عام 2021. عند كتابة أمر git push، سيطلب منك النظام مصادقة. ستحتاج إلى استخدام Personal Access Token (PAT) بدلاً من كلمة المرور، أو المصادقة باستخدام متصفح الويب (عبر Git Credential Manager المدمج غالباً في الويندوز)، أو إعداد مفاتيح SSH.

كيفية استنساخ مستودع بعيد (Clone)

ماذا لو كان هناك مشروع موجود بالفعل على GitHub وتريد تنزيله على جهازك لتبدأ العمل عليه؟ أو مشروع مفتوح المصدر لزميلك؟ هنا يأتي دور الأمر git clone. فقط انسخ رابط المستودع من واجهة GitHub ونفذ الأمر التالي في المكان الذي تريد تنزيل المجلد فيه:

git clone https://github.com/username/project-name.git
  

سيقوم هذا الأمر بتحميل المجلد بالكامل مع كامل تاريخه، وملفاته، ومجلد .git الخاص به. لن تحتاج لعمل git init أو ربط المستودع يدوياً، فكل شيء سيكون مهيأ مسبقاً للعمل فوراً!

Clone، Fetch، Pull — الفرق بينها

الأمر ماذا يفعل؟ متى تستخدمه؟
git clone ينسخ مستودعاً من GitHub إلى جهازك بالكامل أول مرة تنزّل مشروعاً
git fetch يجلب التغييرات من GitHub دون دمجها حين تريد الاطلاع أولاً قبل الدمج
git pull يجلب التغييرات ويدمجها فوراً (fetch + merge) التحديث اليومي من مستودع الفريق
واجهة GitHub تُظهر مستودعاً وأوامر التعاون الجماعي

واجهة GitHub — حيث يلتقي كود الفريق كله في مكان واحد

أوامر التراجع والإصلاح — لا تخف من الأخطاء

من أكثر ما يُقلق المبتدئين: "ماذا أفعل لو أخطأت؟" الجواب: Git صُمِّم خصيصاً لتسهيل التراجع. إليك أهم أوامر الإصلاح:

git restore — التراجع عن تعديلات في Working Directory

git restore filename.js    # التراجع عن تعديلات ملف واحد
git restore .              # التراجع عن كل التعديلات
  

تحذير: هذا الأمر لا رجعة فيه — التعديلات ستُحذف نهائياً من Working Directory.

git stash — حفظ العمل مؤقتاً

ماذا لو كنت تعمل على ميزة جديدة وفجأة احتجت للانتقال لـ Branch آخر لإصلاح Bug عاجل؟ git stash يحفظ تغييراتك الحالية في "درج" مؤقت:

git stash             # احفظ التغييرات مؤقتاً
git stash pop         # استعدها حين تعود
git stash list        # عرض قائمة الـ Stashes المحفوظة
  

git commit --amend — تعديل آخر Commit

هل نسيت إضافة ملف للـ Commit الأخير؟ أو ربما أخطأت في كتابة الرسالة؟ لا داعي لعمل Commit جديد، استخدم:

git commit --amend -m "رسالتك الجديدة هنا"
  

git revert — التراجع عن Commit بأمان

إذا احتجت التراجع عن Commit تم رفعه بالفعل إلى GitHub، استخدم git revert — فهو يُنشئ Commit عكسي بدلاً من حذف التاريخ:

git revert abc1234    # رقم الـ Commit من git log
  

git reset — التراجع عن Commits (بحذر)

يعتبر أمر git reset أداة قوية تمنحك القدرة على العودة بالزمن في تاريخ مشروعك. عند استخدامه مع خيار --hard، فإنه يقوم بمسح جميع التعديلات الحديثة بشكل نهائي ويُعيد المشروع تماماً للحالة السابقة، وكأن التغييرات الجديدة لم تُكتب أبداً (احذر عند استخدامه!). أما التراجع العادي (بدون --hard)، فيكتفي بحذف الـ Commit من التاريخ ولكنه يترك الملفات المعدلة كما هي في مساحة العمل (Working Directory) ليتسنى لك إصلاحها وتعديلها براحة.

git reset HEAD~           # يتراجع عن آخر Commit مع الاحتفاظ بالتعديلات في مجلد العمل
git reset --hard HEAD~    # يتراجع عن آخر Commit ويحذف التعديلات نهائياً من مجلد العمل
  

git checkout <commit-id> — زيارة الماضي (Detached HEAD)

أحياناً قد لا ترغب في التراجع عن أي شيء، بل تريد فقط "العودة بالزمن" لاختبار ميزة أو فحص شكل الكود في مرحلة سابقة. للقيام بذلك، يمكنك جلب رقم الـ Commit المطلوب (من أمر git log) واستخدامه مع هذا الأمر:

git checkout abc1234
  

تنفيذ هذا الأمر سيفصلك مؤقتاً عن خط العمل الحالي ويضعك في حالة تُعرف باسم Detached HEAD. في هذه الحالة، يمكنك تشغيل الكود وفحصه وتصفح الملفات بالضبط كما كانت في تلك اللحظة الزمنية. وبمجرد الانتهاء من المعاينة، يمكنك ببساطة العودة للحاضر ولمتابعة عملك المعتاد عن طريق الانتقال للفرع الرئيسي باستخدام الأمر git checkout main.

Pull Requests — كيف يتعاون المطوّرون على GitHub؟

الـ Pull Request (PR) هو آلية التعاون الرئيسية على GitHub. حين تنتهي من عملك في Branch معين وتريد دمجه في الـ Branch الرئيسي، لا تدمج مباشرةً — بل تفتح Pull Request ليراجعه زملاؤك ويوافقوا عليه أو يُضيفوا تعليقاتهم.

هذه العملية تضمن جودة الكود وتمنع الأخطاء من الوصول للإنتاج. في كل الشركات التقنية التي أعرفها، لا يوجد كود يصل للـ main Branch بدون مراجعة عبر PR.

خطوات إنشاء Pull Request

  1. ارفع الـ Branch الخاص بك على GitHub: git push origin feature-login
  2. على GitHub، اضغط "Compare & pull request"
  3. اكتب وصفاً واضحاً لما فعلته
  4. اختر المراجعين (Reviewers) من فريقك
  5. انتظر تعليقاتهم وأجب عليها أو عدّل الكود
  6. بعد الموافقة، يُدمج الـ PR في الـ Branch الرئيسي
💡 نصيحة للمشاريع المفتوحة (Open Source): إذا أردت المساهمة في مشروع مفتوح المصدر على GitHub، الخطوة الأولى هي عمل Fork للمستودع (نسخة في حسابك)، ثم تعديل ما تريد، ثم إرسال PR من Fork الخاص بك إلى المستودع الأصلي. هذا هو أساس ثقافة المصدر المفتوح.

git rebase — للحفاظ على تاريخ نظيف وخطي

الـ Rebase أداة متقدمة قليلاً، لكن ذكرها هنا مهم. بدلاً من إنشاء "Merge Commit" يُوضَّح فيه أن فرعين اندمجا، يعيد Rebase كتابة تاريخ الـ Branch وكأن عملك بُني فوق آخر تحديثات الـ Branch الرئيسي مباشرةً — ما يُعطي تاريخاً أنظف وأقل تشعباً:

git checkout feature-login
git rebase main
  
⚠️ تحذير: لا تستخدم Rebase على Branches مشتركة مع الفريق أو على main مباشرةً. استخدمه فقط على البranches المحلية الخاصة بك. إعادة كتابة التاريخ على Branch مشترك تُسبب فوضى للجميع.

ميزات متقدمة ونصائح ستسهل حياتك

1. واجهة VS Code المرئية بدلاً من الأوامر

في حين أنه من الضروري جداً تعلم سطر الأوامر وفهمه جيداً، إلا أن محرر الأكواد الشهير VS Code يأتي مدمجاً به واجهة رسومية ممتازة للتعامل مع Git (تحت تبويب Source Control). بضغطة زر يمكنك عمل Commit أو Push، وحتى حل تعارضات الدمج (Merge Conflicts) بوضوح تام عبر واجهة المقارنة.

2. استضافة موقعك مجاناً مع GitHub Pages

من أعظم الفوائد التي تجذب المطورين لـ GitHub هي إمكانية رفع مشاريع HTML/CSS/JS واستضافتها مجاناً. بمجرد رفع كود موقعك إلى المستودع، يمكنك تفعيل ميزة GitHub Pages من الإعدادات، لتحصل على رابط حيّ (Live URL) لموقعك يمكنك مشاركته مع الجميع وفي سيرتك الذاتية!

3. إتقان لغة Markdown لوثائق المشروع

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

الخلاصة — خريطة طريق Git في صفحة واحدة

تعلّم Git ليس حفظ أوامر — بل فهم نموذج تفكير. حين تستوعب أن كل شيء في Git هو مراحل (Working → Staging → Commit → Push)، وأن كل تغيير يمكن التراجع عنه، ستتعامل مع الأداة بثقة وراحة بال.

الأمر الوظيفة
git init بدء تتبّع Git في مجلد
git clone [url] نسخ مستودع من GitHub
git status عرض حالة الملفات
git add . إضافة كل التغييرات للـ Staging
git rm [file] حذف ملف وإزالته من تتبع Git
git diff عرض التغييرات بين إصدارين
git commit -m "msg" حفظ دائم مع رسالة
git push رفع التغييرات لـ GitHub
git pull جلب التغييرات من GitHub
git branch [name] إنشاء Branch جديد
git merge [name] دمج Branch في الحالي
git stash حفظ العمل مؤقتاً
git revert [hash] التراجع عن Commit بأمان

الخطوة التالية الموصى بها: جرّب إنشاء مشروع صغير على GitHub الآن — حتى لو كان مجرد ملف HTML بسيط. الممارسة العملية هي ما يُثبّت Git في ذهنك، وليس القراءة وحدها. إذا كنت مهتماً بتعلم البرمجة بشكل أعمق، أنصحك بقراءة مقالنا حول خارطة طريق تعلم البرمجة للمبتدئين.

📬

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

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

نعم، أريد الاشتراك! ✉️

🔒 خصوصيتك مهمة لنا. لن نرسل رسائل مزعجة أبدًا.

الأسئلة الشائعة حول Git و GitHub

❓ هل يمكن تعلّم Git بدون معرفة مسبقة بالبرمجة؟

نعم تماماً. Git أداة لإدارة الملفات في جوهرها، ويستخدمها الكتّاب والمصمّمون وحتى فرق الوثائق التقنية. تحتاج فقط إلى معرفة أساسية بسطر الأوامر (Terminal / Command Prompt) لتبدأ. الأوامر الأساسية ستتعلمها في ساعة واحدة من الممارسة.

❓ ما الفرق بين git merge وgit rebase؟

كلاهما يدمجان تغييرات فرعين، لكن بأسلوبين مختلفين. git merge يُنشئ Commit دمج يُوضّح أن فرعين التقيا — يُبقي التاريخ صادقاً لكنه قد يبدو متشعباً. git rebase يُعيد كتابة تاريخ الـ Branch وكأن كل عملك بُني فوق آخر Commits مباشرةً — يُعطي تاريخاً أنظف وخطياً. استخدم Merge للفرق والتعاون، وRebase للتنظيف الشخصي قبل إرسال Pull Request.

❓ هل GitHub مجاني؟ ما القيود في الإصدار المجاني؟

نعم، GitHub مجاني بشكل كامل للمستودعات العامة (Public) وحتى للمستودعات الخاصة (Private) بحدود معقولة. الخطط المدفوعة تُضيف ميزات مثل عدد أعضاء الفريق، GitHub Actions للـ CI/CD، وحماية الـ Branches المتقدمة. للمبتدئين والمشاريع الفردية، الإصدار المجاني أكثر من كافٍ.

❓ ما هو ملف .gitignore وكيف أستخدمه؟

الـ .gitignore ملف نصي تُدرج فيه أسماء الملفات والمجلدات التي تريد Git أن يتجاهلها تماماً — مثل مجلد node_modules في مشاريع JavaScript، أو ملفات البيئة .env التي تحتوي كلمات مرور أو API Keys. ضعه في جذر المشروع وأضف اسم كل ملف أو مجلد تريد إخفاءه في سطر منفصل. يمكنك البحث عن قوالب جاهزة على موقع gitignore.io بحسب نوع مشروعك.

❓ ما الفرق بين git reset وgit revert؟

git reset يُعيد المؤشر لـ Commit سابق ويمكنه حذف Commits من التاريخ — خطير على الـ Branches المشتركة. git revert أكثر أماناً: لا يحذف أي شيء بل يُنشئ Commit جديداً يعكس التغييرات التي تريد التراجع عنها. القاعدة الذهبية: استخدم revert دائماً على Commits تم رفعها لـ GitHub، واحتفظ بـ reset للعمل المحلي غير المرفوع فقط.

📌 هل أعجبك هذا الدليل؟ إذا وجدت هذا المقال مفيداً، شاركه مع أصدقائك الذين يتعلمون البرمجة. ولمزيد من الأدلة العملية في البرمجة والتقنية، تفضّل باستكشاف وادي التكنولوجيا.

أضف وادي التكنولوجيا كمصدر مفضّل على جوجل

اجعل مقالاتنا تظهر لك أولًا في نتائج البحث والأخبار

أضفنا الآن
مصطفى أمان
مصطفى أمان
صانع محتوى تعليمي تقني على مدونتي وعلى قناة اليوتيوب. وهدفي من هذا المحتوى هو محو الأمية المتعلقة بمجال تكنولوجيا المعلومات حتى نبدأ من حيث انتهى الأخرين.
تعليقات



    /*إشعار رسالة الكوكيز*/