Git و GitHub بالدارجة: الفرق، أول commit وأول push
شنو الفرق بين Git و GitHub؟ شرح بالدارجة خطوة بخطوة: git init، add، commit، .gitignore، branch، push وأول pull request ف GitHub.
كاين حتى ب : Français

عندك projet_final.zip، وprojet_final_v2.zip، وprojet_final_vraiment_final.zip… وما بقيتيش عارف شمن نسخة خدامة؟ والأستاذ ولا الشركة طلبو منك «الـ lien ديال GitHub» وأنت ما عارفش واش GitHub هو Git؟ هاد المقال كيجاوبك بالدارجة، خطوة بخطوة، مع Salma والـ portfolio ديالها.
Git و GitHub: ماشي نفس الحاجة
Git هو برنامج كيتنصب ف l'ordinateur ديالك. كيعقل على كل نسخة ديال المشروع: شكون بدل، شنو تبدل، وإمتى. ما محتاجش الأنترنيت باش تخدم بيه: التاريخ كامل كيتسجل ف دوسي مخبي سميتو .git داخل المشروع.
GitHub (اللي كيكتبوه بزاف ف Google «كيتهوب») هو موقع. كيخليك تحط المشروع والتاريخ ديالو online، باش تخدم مع فريق ولا تبين الخدمة ديالك. كاينين مواقع أخرى بحالو بحال GitLab و Bitbucket، ولكن Git هو هو ف كلهم.
| Git | GitHub | |
|---|---|---|
| شنو هو | برنامج | موقع |
| فين كيخدم | ف l'ordinateur ديالك | online |
| واش خاصو الأنترنيت | لا | إيه |
| الدور | يسجل التاريخ ديال الكود | يحط هاد التاريخ online ويسهل الخدمة مع الفريق |
أول repo: git init و git status
حل terminal (Git Bash ف Windows، ولا Terminal ف Mac)، وتأكد بلي Git كاين:
git --version
git config --global user.name "Salma"
git config --global user.email "salma@example.com"دخل للدوسي ديال المشروع وصاوب repo:
cd portfolio
git init -b main
git status-b main كتعطي للـ branch الرئيسية نفس السمية اللي كيستعمل GitHub. وgit status غادي تولي صاحبتك: كتقول ليك شنو تبدل وشنو باقي ما تسجلش.
git add و git commit: التصويرة ديال المشروع
الـ commit هو تصويرة ديال المشروع ف لحظة معينة، كترجع ليها وقت ما بغيتي. قبل التصويرة، كتختار شكون يبان فيها: هادي هي الـ staging area، وكتدخل ليها الملفات بـ git add.
git add index.html
git commit -m "Ajoute la page d'accueil"
git log --onelineالدورة اللي غادي تعاود كل نهار: كتبدل شي حاجة، git status، git add، git commit. وقبل ما تسجل، git diff كيوريك السطور اللي تزادو (+) واللي تحيدو (−).
.gitignore: الـ .env عمرو ما يمشي لـ GitHub
ف الكورس ديال Node (E14)، الـ .env فيه les mots de passe و les clés. هاد الملف خاصو يبقى عندك. صاوب fichier سميتو .gitignore:
.env
node_modules/دابا git status ما بقاش كيبين الـ .env. دير هادشي قبل أول push: إلا تسجل شي سر ف commit، كيبقى ف التاريخ حتى إلا مسحتيه من بعد.
Branch: جرب بلا ما تخرب main
بغيتي تزيد section contact بلا ما تقيس النسخة اللي خدامة؟ صاوب branch، خدم فيها، ومن بعد جمعها مع main:
git switch -c contact
git add index.html
git commit -m "Ajoute la section contact"
git switch main
git merge contactالقاعدة: branch لكل فكرة، commit ف كل خطوة، و merge غير ملي تكون متأكد.
GitHub: git remote و git push
ف GitHub، صاوب repository جديد سميتو portfolio، بلا README، حيت المشروع عندك ديجا. من بعد:
git remote add origin https://github.com/<compte>/portfolio.git
git push -u origin mainorigin غير سمية كتعني «النسخة اللي ف GitHub». أول مرة، GitHub كيطلب منك تكونيكطا من المتصفح ولا بـ token: le mot de passe ديال الحساب ما بقاش كيتقبل هنا، وعمرك ما تبين الـ token ف شي capture.
من بعد، ف الفريق، ما كنصيفطوش نيشان لـ main: كنصيفطو branch، وكنفتحو pull request باش شي واحد يراجع الـ diff قبل الـ merge. ومن بعد git pull كيجيب التغييرات من GitHub لـ l'ordinateur ديالك.
واش نقدر نخدم بـ Git بلا GitHub؟
إيه. Git كيخدم بوحدو ف l'ordinateur ديالك. GitHub كتحتاجو غير ملي بغيتي تحط المشروع online ولا تخدم مع فريق.
شنو الفرق بين push و pull؟
git push كيطلع الـ commits ديالك لـ GitHub. git pull كيهبط اللي تزاد ف GitHub لـ l'ordinateur ديالك.
مسحت الـ .env من بعد ما درت ليه commit، واش صافي؟
لا. كيبقى ف التاريخ. بدل الأسرار اللي كانو فيه (مثلا صاوب clé API جديدة)، وزيد .env لـ .gitignore.
Quiz: 3 أسئلة باش تتأكد
حتى حاجة ما كتصيفط: الأجوبة ديالك كيبقاو ف المتصفح ديالك.
تكتب من الدرس والنص ديالو بمساعدة أدوات الذكاء الاصطناعي، وراجعو وتأكد منو Mehdi Laraibi نهار 4 نونبر 2026.



