من أكثر نقاط الخلط لدى المبتدئين: هل Git و GitHub الشيء نفسه؟ الإجابة: لا — وإليك الفرق ببساطة.
Git — الأداة على جهازك 🔀
Git برنامج يعمل على حاسوبك لتتبّع تغييرات الكود (نظام تحكّم بالإصدارات). يسجّل كل تعديل، ويتيح لك الرجوع لأي نسخة سابقة.
git add .
git commit -m "أضفت ميزة جديدة"
Git يعمل دون إنترنت — كل شيء محلّي على جهازك.
GitHub — المنصّة السحابية ☁️
GitHub خدمة على الإنترنت تستضيف مشاريع Git، فتتيح:
- ✅ حفظ نسخة سحابية من مشروعك
- ✅ التعاون مع فريق على نفس الكود
- ✅ عرض أعمالك (Portfolio) لأصحاب العمل
git push origin main # ترفع كودك إلى GitHub
مثال عملي: ميزة موجودة في GitHub فقط
بعض المفاهيم الشائعة ليست جزءًا من Git نفسه، بل ميزات أضافتها GitHub فوقه:
# هذا أمر Git خالص — يعمل بدون أي علاقة بـ GitHub
git checkout -b feature/login
# لكن "Pull Request" ليس أمر Git إطلاقًا! هو مفهوم GitHub فقط:
# تفتحه من واجهة الموقع بعد أن ترفع الفرع (git push)، ليطلب مراجعة
# التغييرات قبل دمجها — Git وحده لا يعرف معنى "Pull Request"
هذا يوضّح الحدّ الفاصل بدقّة: أوامر مثل commit وbranch وmerge جزء من
Git نفسه وتعمل بلا إنترنت، بينما "Pull Request" و"Issues" و"Actions" مفاهيم
اخترعتها GitHub فوق Git لتسهيل التعاون — GitLab يقدّم مكافئًا لها باسم
"Merge Request"، لأنه ليس جزءًا من بروتوكول Git الأساسي.
جدول المقارنة
| الجانب | Git | GitHub |
|---|---|---|
| ما هو | أداة على جهازك | خدمة سحابية |
| يحتاج إنترنت | ❌ لا | ✅ نعم |
| الوظيفة | تتبّع الإصدارات | الاستضافة والتعاون |
| البدائل | — | GitLab، Bitbucket |
| Pull Requests/Issues | غير موجودة (ليست جزءًا من Git) | ميزات أساسية |
| من صنعها | Linus Torvalds (2005) | شركة مستقلّة (اشترتها Microsoft) |
خطأ شائع عند المبتدئين
الخلط الأشهر: كتابة "ارفع الكود على Git" بدل "على GitHub". Git لا يُرفَع
إليه شيء — هو الأداة التي تستخدمها لترفع (git push) كودك إلى مكان
استضافة مثل GitHub. الجملة الصحيحة تقنيًّا: "أستخدم Git لأرفع الكود على
GitHub".
الخلاصة
Git هو المحرّك على جهازك، وGitHub هو السحابة التي ترفع إليها عملك وتتعاون عبرها. تعلّم Git أولًا، ثم استخدم GitHub لمشاركة مشاريعك.