تخطَّ إلى المحتوى

الـ Version Control: Git أساسيات

الدرس 8 من 20

الهدف

بنهاية الدرس عندك repo على GitHub، ثلاث commits، branch منفصل، و PR اندمج — وفهمت ليش كل خطوة موجودة.

ليش هذا الحين؟

ترى code بدون version control = كود معلّق بخيط. كل مرة تعدّل ملف وبعدين تكتشف إنك كسرت شي، تقعد ساعات تحاول تتذكر شنو غيّرت. Git هو الـ time machine اللي يسترجع أي نسخة سابقة. و GitHub هو المكان اللي يعيش فيه الكود بأمان — مو على laptop بس.

الفكرة

Git = time machine للكود. كل commit = snapshot من كل الملفات في هاللحظة. تقدر ترجع لأي snapshot في أي وقت.

5 commands تغطي 90% من عملك:

git add .          # رتّب التغييرات للـ commit
git commit -m ""   # خذ snapshot مع رسالة
git push           # ارفع لـ GitHub
git pull           # نزّل آخر التغييرات من GitHub
git status         # شوف وضع الـ repo الحين

Branches = timelines موازية:

  • main = النسخة الرئيسية — اللي على production
  • feature/login = timeline منفصل تبني فيه ميزة
  • لما تخلص، تدمج الـ branch في main عبر Pull Request

Pull Request (PR) = طلب دمج. في الشركات، شخص ثاني يراجع الكود قبل الدمج. حتى لو وحدك، الـ PR يخليك تراجع شغلك قبل ما يطلع على production.

Mental model:

main:    ──●──●──────────────────●──→
                \               /
feature:         ●──●──●──●────

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net