مقالات
الذكاء الاصطناعي

أكواد Git الأساسية، أوامر كل مطوّر يحتاجها

دليل عملي لأوامر Git الأشهر: init، commit، branch، merge، rebase، مع حلّ مشاكل شائعة — أوامره كثيرة، لكن 90% منها تحتاج 20 أمراً.

٣ سبتمبر ٢٠٢٦ 6 دقيقة قراءة

Git معيار كل مطوّر. أوامره كثيرة، لكن 90% منها تحتاج 20 أمراً. هذا الدليل يشرحها.

البدء

تهيئة أوّل مرّة

# إعداد الاسم والإيميل
git config --global user.name "اسمك"
git config --global user.email "you@example.com"

# اختصار للـeditor
git config --global core.editor "code --wait" # VS Code

# اسم branch الافتراضي
git config --global init.defaultBranch main

بدء مشروع

# مشروع جديد
git init
git add.
git commit -m "Initial commit"

# استنساخ مشروع موجود
git clone https://github.com/user/repo.git
git clone git@github.com:user/repo.git # SSH

الأساسيات اليومية

الحالة والتغييرات

git status # ما الذي تغيّر
git diff # ما التغييرات بالتفصيل
git diff --staged # التغييرات المُستَعدّة للـcommit

git log # السجلّ
git log --oneline # مختصر
git log --graph --all # رسم بياني
git log -p # مع التغييرات
git log --author="اسم" # حسب المؤلّف

إضافة و Commit

# إضافة
git add file.txt # ملفّ محدّد
git add src/ # مجلّد
git add. # كل التغييرات
git add -p # تفاعلي (اختر أجزاءً)

# Commit
git commit -m "رسالة قصيرة"
git commit -am "add + commit معاً"

# تعديل آخر commit (قبل الدفع)
git commit --amend -m "رسالة جديدة"
git commit --amend --no-edit # فقط إضافة ملفّات

Push و Pull

# دفع
git push # للـbranch الحالي
git push origin main
git push -u origin feature/x # أوّل مرّة (يربط)

# سحب
git pull # مع merge
git pull --rebase # مع rebase (أنظف)

# جلب بلا دمج
git fetch
git fetch --all

Branches

إدارة Branches

git branch # قائمة الفروع المحلية
git branch -a # كل الفروع (محلية + بعيدة)
git branch -d feature/x # حذف (إذا مُدمج)
git branch -D feature/x # حذف قسري

# إنشاء وتبديل
git checkout -b feature/new-login
git switch -c feature/new-login # الحديث (Git 2.23+)

# التبديل
git checkout main
git switch main # الحديث

Merge

# مثال: دمج feature في main
git checkout main
git pull
git merge feature/x

# حلّ التعارضات
# 1. عدّل الملفّات
# 2. git add.
# 3. git commit

Rebase (للسجل النظيف)

# مثال: تحديث feature branch على أحدث main
git checkout feature/x
git rebase main

# Interactive rebase (تنظيف commits)
git rebase -i HEAD~5 # آخر 5 commits
# في المحرّر: pick / squash / reword / drop

تحذير: لا rebase على branches مُشتركة (يعيد كتابة التاريخ).

التراجع

قبل Commit

# التخلّي عن تغييرات ملفّ
git checkout file.txt # القديم
git restore file.txt # الحديث

# إزالة من الاستعداد
git reset file.txt
git restore --staged file.txt

# التخلّي عن كل التغييرات
git checkout.
git restore.

بعد Commit

# تراجع commit مع الاحتفاظ بالتغييرات
git reset --soft HEAD~1

# تراجع مع مسح التغييرات (خطر!)
git reset --hard HEAD~1

# إنشاء commit عكسي (آمن للـshared branches)
git revert HEAD
git revert <commit-hash>

بعد Push (بحذر!)

# إذا لم يسحب أحد بعد
git reset --hard HEAD~1
git push --force-with-lease # أأمن من --force

تحذير: git push --force قد يُدمّر عمل الآخرين. استخدم --force-with-lease، يفشل إذا حدث تغيير.

Stash (حفظ مؤقّت)

# حفظ تغييرات غير جاهزة
git stash
git stash save "وصف"

# قائمة الـstashes
git stash list

# استعادة
git stash pop # يستعيد ويحذف
git stash apply # يستعيد بلا حذف

# حذف
git stash drop
git stash clear # حذف كل الـstashes

البحث في التاريخ

# البحث عن commit
git log --grep="fix login" # في رسائل commits
git log --all --oneline -S "search_string" # كود احتوى نصّاً

# متى أُضيف/حُذف سطر
git blame file.txt

# البحث عن ملفّ
git log --follow -- file.txt

# Bisect (اكتشاف commit الذي كسر شيئاً)
git bisect start
git bisect bad
git bisect good <commit-hash>
# Git يقودك ثنائياً للـcommit المشكل

Remote

# قائمة remotes
git remote -v

# إضافة remote
git remote add upstream https://github.com/original/repo.git

# دفع لكل الـbranches
git push --all

# حذف remote branch
git push origin --delete feature/old

Tags

# قائمة tags
git tag

# إنشاء
git tag v1.0.0
git tag -a v1.0.0 -m "Release 1.0" # annotated

# دفع tag
git push origin v1.0.0
git push --tags

# حذف
git tag -d v1.0.0
git push origin:refs/tags/v1.0.0

Git Hooks

# قبل commit
.git/hooks/pre-commit # اجعله قابلاً للتنفيذ
#!/bin/bash
npm test # مثلاً

أفضل: استخدم Husky مع Node.js لإدارة hooks عبر المشروع.

workflows شائعة

GitHub Flow (بسيط)

# 1. اسحب أحدث main
git checkout main
git pull

# 2. أنشئ feature branch
git checkout -b feature/new-login

# 3. اعمل commits
git add.
git commit -m "add login form"

# 4. ادفع
git push -u origin feature/new-login

# 5. افتح Pull Request في GitHub
# 6. Merge بعد المراجعة
# 7. احذف الـbranch محلياً وبعيداً

Git Flow (متقدّم)

# main = production
# develop = staging
# feature/x = ميّزة
# release/1.0 = تحضير للإصدار
# hotfix/x = إصلاح عاجل لـproduction

حلّ مشاكل شائعة

1) "Merge conflict"

# افتح الملفّ المتعارض
# اختر التغييرات (يدوياً أو بأداة)
git add file.txt
git commit # يكمل الـmerge

2) "Push rejected"

# سبب: تغييرات جديدة في الـremote
git pull --rebase
git push

3) "Detached HEAD"

# أنت على commit لا branch
git checkout -b new-branch-name # احفظ التغييرات

4) نسيت .gitignore

# إزالة ملفّ من التتبّع (بدون حذفه)
git rm --cached file.txt

# ثمّ أضفه لـ.gitignore
echo "file.txt" >>.gitignore
git commit -m "ignore file.txt"

5) Commit كبير أضفت فيه Secret

# استخدم BFG Repo-Cleaner أو git-filter-repo
# ثمّ:
git push --force-with-lease

# **مهمّ**: غيّر الـSecret (تسرّب)

نصائح ذهبية

  1. Commits صغيرة متكرّرة، لا commit ضخم
  2. رسائل commit وصفية: feat: add user login، fix: correct email validation
  3. .gitignore من البداية، أضف secrets، node_modules، عبر gitignore.io
  4. Pull قبل Push، تجنّب conflicts
  5. لا push --force على main، أبداً
  6. استخدم SSH بدل HTTPS للأمان والسرعة

المصادر الرسمية


اقرأ أيضاً: أكواد Bash و PowerShell · أفضل ١٠ أكواد Python · أكواد JavaScript الأساسية · Claude Code، دليل المطوّر

الأسئلة الشائعة

Git نظام تحكّم بالإصدارات (محلياً على جهازك). GitHub خدمة استضافة سحابية للـGit repositories. البدائل: GitLab، Bitbucket.

Merge أسلم للفرق الكبيرة (يحافظ على التاريخ). Rebase أنظف للسجلّ (يحوّل التاريخ). القاعدة: لا Rebase على branch عام مُشارك.

ضمن سلسلة: أكواد وأتمتة جاهزة

المقال 6 من 9

مقاطع كود جاهزة: بايثون، جافاسكربت، React، SQL، Git، وأتمتة المهام اليومية.

  1. 1.أفضل 10 أكواد Python يبحث عنها المطوّرونالدليل الشامل
  2. 2.أفضل أكواد JavaScript يبحث عنها المطوّرون
  3. 3.أكواد React و Next.js الأساسية 2026
  4. 4.أكواد HTML و CSS الأساسية، مكتبة المطوّر
  5. 5.أكواد SQL جاهزة، أشهر 20 استعلاماً يبحث عنها المطوّر
  6. 6.أكواد Git الأساسية، أوامر كل مطوّر يحتاجها
  7. 7.أكواد Bash و PowerShell، أتمتة سطر الأوامر
  8. 8.أكواد Excel و Google Sheets، أتمتة البيانات
  9. 9.أكواد أتمتة يومية، ادخل عصر الـAutomation

مقالات ذات صلة

الذكاء الاصطناعي

الذكاء الاصطناعي في الطاقة، نووية، شمسية، رياح

دور AI في قطاع الطاقة 2026: الشبكات الذكيّة، تحسين المفاعلات، توقّع الطلب، والاستراتيجية السعودية للطاقة المتجدّدة.

4 سبتمبر 2026 8 د
الذكاء الاصطناعي

Fine-tuning للنماذج اللغوية: LoRA و QLoRA و Full Fine-tuning

شرح تقني معمّق لتخصيص LLMs، الفروقات بين Full Fine-tuning و LoRA و QLoRA، متى تختار كل تقنية، وأمثلة عملية بأدوات Hugging Face.

4 سبتمبر 2026 9 د
الذكاء الاصطناعي

الذكاء الاصطناعي في الأمن السيبراني، سلاح ذو حدّين

دور الذكاء الاصطناعي في الأمن السيبراني 2026: الدفاع، الهجوم، الاحتيال، والتحدّيات المؤسسية مع إطار NCA السعودي — في يناير 2024، تلقّى موظّف مالي في فرع…

3 سبتمبر 2026 6 د
العمل والتوظيف

منصّة جدارات ٢٠٢٦: كيف تكمل ملفّك ١٠٠٪ وترفع فرص القبول

دليل جدارات — بوّابة التوظيف الحكومي السعودي. كيف تكمل ملفّك ١٠٠٪: الخبرات، الشهادات المعتمَدة، الدورات، الرخصة المهنيّة، السيرة الذاتية، والأخطاء الشائعة.

13 سبتمبر 2026 7 د
الخدمات الحكومية السعودية

تجديد بطاقة الهوية الوطنية السعودية ٢٠٢٦

خطوات تجديد الهوية الوطنية عبر أبشر: العمر النظامي، الرسوم، الوثائق المطلوبة، الحضور المكتبي، ومدد الصلاحية الجديدة لكلّ فئة عمرية.

11 سبتمبر 2026 4 د
المواقع والتطبيقات

دليل AliExpress للتسوّق من السعودية ٢٠٢٦: الفئات، الشحن، والحماية

كل ما تحتاج معرفته قبل أول طلب من AliExpress في السعودية: الفئات المتاحة، طرق الدفع ومدى (مدى)، مدد الشحن الفعلية، وحماية المشتري عند تأخّر الطلب أو وصوله معيباً.

18 سبتمبر 2026 4 د

هل أفادك هذا المقال؟