From 35c56347a22cde9a040991439ea3eb53daf96ea2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 10:43:24 +0000 Subject: [PATCH 1/2] Initial plan From 21d0e14777e2990ccb00b1a9cf616f4218d81528 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 10:45:21 +0000 Subject: [PATCH 2/2] Add Arabic page explaining SHA in GitHub Agent-Logs-Url: https://github.com/Abdullah9990/Aa12/sessions/28b1c44d-ce01-4edb-8c76-e81f2293a1c9 Co-authored-by: Abdullah9990 <56370218+Abdullah9990@users.noreply.github.com> --- index.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 index.md diff --git a/index.md b/index.md new file mode 100644 index 0000000..d34d583 --- /dev/null +++ b/index.md @@ -0,0 +1,52 @@ +# ما هو SHA في Github + +**SHA** (اختصار لـ Secure Hash Algorithm) هو معرّف فريد يُستخدم في GitHub لتحديد كل **commit** (التزام) بشكل دقيق وغير قابل للتكرار. + +## كيف يعمل SHA؟ + +عند إنشاء commit جديد في Git، يقوم النظام تلقائيًا بإنشاء **SHA hash** — وهو سلسلة نصية مكونة من **40 حرفًا** بالتنسيق السداسي عشري (hexadecimal)، مثل: + +``` +35c5634a8b2f3d1e9c0ab7f4e5d6c8a912345678 +``` + +وكثيرًا ما يُستخدم الشكل المختصر المكون من **7 أحرف**: + +``` +35c5634 +``` + +## ما الفائدة من SHA؟ + +| الفائدة | الشرح | +|---------|-------| +| **التعريف الفريد** | كل commit له SHA مختلف تمامًا عن أي commit آخر | +| **التحقق من السلامة** | يضمن أن محتوى الملفات لم يتغير | +| **التتبع** | يُمكّنك من العودة إلى أي نقطة في تاريخ المشروع | +| **المقارنة** | يسهّل مقارنة الإصدارات المختلفة من الكود | + +## كيف تجد SHA في GitHub؟ + +1. افتح أي مستودع (repository) على GitHub +2. انتقل إلى تبويب **Commits** +3. ستجد بجانب كل commit رمز مختصر — هذا هو SHA + +## استخدام SHA في سطر الأوامر + +```bash +# عرض سجل الـ commits مع SHA الكامل +git log + +# عرض سجل مختصر +git log --oneline + +# العودة إلى commit محدد باستخدام SHA +git checkout 35c5634 + +# مقارنة commit معين بالحالة الراهنة +git diff 35c5634 +``` + +--- + +> 🔐 **ملاحظة**: يعتمد Git على خوارزمية **SHA-1** لإنشاء هذه المعرّفات، وهي تضمن أن أي تغيير ولو بسيط في محتوى الملفات سينتج عنه SHA مختلف تمامًا.