
هل سبق أن عدّلت ملفًا في مشروعك البرمجي ثم توقف كل شيء عن العمل، وتمنّيت لو تستطيع الرجوع إلى النسخة التي كانت تعمل قبل ساعة؟ أو احتفظت بمجلدات بأسماء مثل «مشروع-نهائي» و«مشروع-نهائي-2» و«مشروع-نهائي-فعلاً»؟ هنا يأتي دور Git، أداة التحكم في الإصدارات التي يستخدمها أغلب المبرمجين حول العالم، ومعها منصة GitHub التي تتيح لك حفظ مشاريعك على الإنترنت ومشاركتها والتعاون فيها.
في هذا الدليل نشرح Git للمبتدئين خطوة بخطوة: ما الفرق بين Git وGitHub، وكيف تثبّت الأداة، وما الأوامر الأساسية التي تحتاجها يوميًا، وكيف ترفع أول مشروع لك على GitHub، مع أخطاء شائعة يقع فيها المبتدئون وكيف تتجنبها.
ما هو Git ولماذا يحتاجه كل مبرمج؟
Git نظام مفتوح المصدر للتحكم في الإصدارات (Version Control System)، طوّره لينوس تورفالدس، مبتكر نواة لينكس، عام 2005. فكرته ببساطة أنه يسجّل «لقطات» متتالية لمشروعك، بحيث تستطيع معرفة ما الذي تغيّر ومتى ولماذا، والرجوع إلى أي نسخة سابقة عند الحاجة.
فوائد عملية تلمسها من اليوم الأول
- سجل كامل للتغييرات: كل تعديل محفوظ مع رسالة تشرح سببه، فلا تضيع جهودك.
- التراجع الآمن: إذا أفسد تعديلٌ ما الكود، تعود إلى النسخة السليمة بأمر واحد.
- التجربة دون خوف: تستطيع إنشاء فرع (Branch) لتجربة فكرة جديدة دون المساس بالنسخة الأساسية.
- العمل الجماعي: عدة مبرمجين يعملون على المشروع نفسه في الوقت نفسه، ثم تُدمج أعمالهم بشكل منظّم.
- مهارة مطلوبة في سوق العمل: معرفة Git تكاد تكون شرطًا أساسيًا في معظم وظائف البرمجة.
الفرق بين Git وGitHub
يخلط كثير من المبتدئين بين الاسمين، لكنهما شيئان مختلفان:
- Git أداة تعمل على جهازك أنت، وتدير سجل الإصدارات محليًا حتى دون اتصال بالإنترنت.
- GitHub منصة على الإنترنت (استحوذت عليها مايكروسوفت عام 2018) تستضيف مستودعات Git، وتضيف أدوات للتعاون مثل طلبات الدمج (Pull Requests) وتتبّع المشكلات (Issues).
أي أنك تستطيع استخدام Git وحده دون GitHub، لكن GitHub يعتمد على Git. وتوجد منصات بديلة تؤدي الدور نفسه مثل GitLab وBitbucket، والمفاهيم التي ستتعلمها هنا تنطبق عليها جميعًا.
تثبيت Git وإعداده لأول مرة
التثبيت حسب نظام التشغيل
- ويندوز: حمّل المثبّت من الموقع الرسمي git-scm.com، وسيضيف لك أيضًا أداة Git Bash لكتابة الأوامر.
- ماك: يمكن تثبيته عبر أدوات المطوّر من آبل بكتابة
git --versionفي الطرفية واتباع التعليمات، أو عبر Homebrew. - لينكس: عبر مدير الحزم، مثل
sudo apt install gitفي أوبونتو وديبيان.
بعد التثبيت تحقق بكتابة git --version، فإذا ظهر رقم الإصدار فكل شيء جاهز.
تعريف اسمك وبريدك
يربط Git كل تعديل باسم صاحبه، لذلك نفّذ هذين الأمرين مرة واحدة فقط على جهازك:
git config --global user.name "اسمك"
git config --global user.email "[email protected]"يُفضّل استخدام البريد نفسه الذي ستسجّل به في GitHub حتى تُنسب مساهماتك إلى حسابك بشكل صحيح.
المفاهيم الأساسية قبل الأوامر
فهم هذه المصطلحات الأربعة يجعل بقية الدليل سهلًا:
- المستودع (Repository): مجلد مشروعك بعد أن يبدأ Git بتتبّعه، ويحتوي مجلدًا مخفيًا اسمه
.gitيحفظ السجل كاملًا. - منطقة التجهيز (Staging Area): مرحلة وسطى تختار فيها الملفات التي تريد حفظها في اللقطة التالية.
- الالتزام (Commit): لقطة محفوظة لحالة المشروع، ومعها رسالة تصف ما تغيّر.
- الفرع (Branch): خط تطوير مستقل، والفرع الافتراضي في المستودعات الجديدة على GitHub اسمه
main.
أهم أوامر Git للمبتدئين خطوة بخطوة
1. إنشاء مستودع جديد
افتح الطرفية داخل مجلد مشروعك ونفّذ:
git initمن هذه اللحظة أصبح المجلد مستودع Git.
2. معرفة حالة الملفات
git statusهذا الأمر صديقك الدائم؛ يخبرك بالملفات الجديدة والمعدّلة وما هو جاهز للحفظ. اجعل عادتك تنفيذه قبل أي خطوة.
3. تجهيز الملفات وحفظ أول لقطة
git add index.html
git add .
git commit -m "إضافة الصفحة الرئيسية"الأمر الأول يجهّز ملفًا محددًا، والثاني يجهّز كل الملفات المعدّلة في المجلد الحالي، والثالث يحفظ اللقطة مع رسالة. اكتب رسائل واضحة تصف «ماذا تغيّر» بدل رسائل عامة مثل «تعديل».
4. استعراض السجل
git log --onelineيعرض قائمة مختصرة بكل الالتزامات، لكل منها معرّف قصير يمكنك استخدامه للرجوع إليه.
5. العمل بالفروع
git switch -c new-feature
git switch main
git merge new-featureالأمر الأول ينشئ فرعًا جديدًا وينتقل إليه، فتجرّب فيه ما تشاء. وعندما تنتهي تعود إلى الفرع الرئيسي وتدمج التعديلات. في الإصدارات القديمة من Git ستجد الأمر git checkout -b يؤدي الوظيفة نفسها.
رفع مشروعك الأول على GitHub
إنشاء المستودع على المنصة
أنشئ حسابًا مجانيًا على github.com، ثم اضغط على زر إنشاء مستودع جديد، واختر اسمًا له، وحدّد إن كان عامًا (Public) يراه الجميع أو خاصًا (Private) لك وحدك.
ربط المستودع المحلي ورفع الملفات
git remote add origin https://github.com/username/my-project.git
git branch -M main
git push -u origin mainالأمر الأول يربط مجلدك بالمستودع على GitHub تحت اسم مختصر هو origin، والثاني يضمن أن اسم فرعك main، والثالث يرفع الالتزامات. بعد المرة الأولى يكفي أن تكتب git push فقط.
ملاحظة مهمة عن تسجيل الدخول
منذ عام 2021 لم يعد GitHub يقبل كلمة مرور الحساب عند الرفع من سطر الأوامر عبر HTTPS. بدلًا منها تستخدم «رمز وصول شخصي» (Personal Access Token) تنشئه من إعدادات حسابك، أو مفاتيح SSH، أو أداة GitHub CLI، أو مدير بيانات الاعتماد الذي يأتي مع Git لويندوز ويفتح لك نافذة تسجيل دخول في المتصفح.
جلب التحديثات ونسخ المشاريع
git pull: يجلب آخر التعديلات من GitHub ويدمجها في نسختك المحلية، وهو مهم عند العمل على أكثر من جهاز أو مع فريق.git clone الرابط: ينسخ أي مستودع من GitHub إلى جهازك بسجله الكامل.
ملف .gitignore: لا ترفع ما لا يلزم
ليس كل ملف في مشروعك يجب أن يُحفظ أو يُرفع. أنشئ ملفًا اسمه .gitignore في جذر المشروع واكتب فيه ما تريد استبعاده، مثل:
node_modules/
.env
*.logالأهم هنا ملفات الإعدادات التي تحتوي كلمات مرور أو مفاتيح API؛ فرفعها إلى مستودع عام قد يكشفها لأي شخص. ويوفر GitHub قوالب جاهزة لهذا الملف حسب لغة البرمجة عند إنشاء المستودع.
أخطاء شائعة يقع فيها المبتدئون
- التزامات ضخمة نادرة: الأفضل حفظ تغييرات صغيرة ومترابطة بشكل متكرر، فيسهل فهمها والتراجع عنها.
- رسائل غامضة: رسالة مثل «تحديث» لن تفيدك بعد شهر، بينما «إصلاح خطأ تسجيل الدخول عند ترك الحقل فارغًا» توضّح كل شيء.
- العمل مباشرة على main: اعتد إنشاء فرع لكل ميزة أو إصلاح، خاصة في المشاريع الجماعية.
- نسيان git pull قبل البدء: قد يسبب تعارضات (Conflicts) كان يمكن تجنبها.
- رفع بيانات حساسة: إن حدث ذلك فلا يكفي حذف الملف في التزام جديد لأنه يبقى في السجل؛ الحل الآمن هو إلغاء المفتاح أو تغيير كلمة المرور فورًا.
كيف تتعامل مع التعارضات؟
يحدث التعارض عندما يُعدَّل السطر نفسه في فرعين مختلفين، فلا يعرف Git أي نسخة يعتمد. عندها يضع علامات داخل الملف تُظهر النسختين، فتختار أنت الصحيح وتحذف العلامات، ثم تنفّذ git add وgit commit لإتمام الدمج. يبدو الأمر مخيفًا في المرة الأولى، لكنه يصبح روتينيًا مع الممارسة، كما أن محررات مثل Visual Studio Code تعرض التعارضات بشكل مرئي يسهّل حلها.
خطوتك التالية
أفضل طريقة لإتقان Git هي استخدامه في مشروع حقيقي ولو كان صغيرًا. جرّب هذا التمرين: أنشئ مجلدًا لموقع بسيط، وحوّله إلى مستودع، واحفظ فيه ثلاثة التزامات على الأقل، ثم أنشئ فرعًا لتجربة تعديل وادمجه، وأخيرًا ارفع المشروع إلى GitHub. ويمكنك الاستعانة بكتاب Pro Git المجاني المتاح على الموقع الرسمي git-scm.com، وبوثائق GitHub الرسمية للتعمق أكثر.
الخلاصة
Git ليس أداة للمحترفين فقط، بل عادة ذكية يجب أن يبدأ بها كل مبرمج من مشروعه الأول. تعلّمت في هذا الدليل الفرق بين Git وGitHub، وكيف تثبّت الأداة وتعدّها، والأوامر الأساسية: init وstatus وadd وcommit وlog والفروع، ثم كيف ترفع مشروعك إلى GitHub وتحمي بياناتك الحساسة بملف .gitignore. ابدأ اليوم بمستودع صغير، وستلاحظ خلال أيام كيف أصبح عملك أكثر تنظيمًا وأمانًا.



