إنشاء أول مستودع لك من خلال جيت Git: دليل شامل للمبتدئين
يُعد Git من أقوى أنظمة إدارة الإصدارات وأكثرها استخداماً في عالم البرمجة وتطوير البرمجيات. تم تطويره في الأصل من قِبل “لينوس تورفالدس” في عام 2005، ليكون نظامًا فعالًا، سريعًا، وآمنًا لتتبع تغييرات الملفات في المشاريع البرمجية. ومنذ ذلك الحين، أصبح Git الأداة الأساسية لمعظم المطورين حول العالم، سواء للعمل الفردي أو في فرق التطوير الكبيرة. عند الحديث عن استخدام Git، فإن الخطوة الأساسية تبدأ بإنشاء أول مستودع (Repository)، وهو بمثابة الحاوية التي تحتضن المشروع وكل ملفاته وتاريخه التعديلي.
سيتناول هذا المقال، بشكل موسع، كل ما يتعلق بإنشاء أول مستودع Git، بدءاً من التعريفات الأساسية، مروراً بالإعدادات الأولية، وصولاً إلى التحكم الكامل في المستودع المحلي وربطه بالمستودع البعيد. كما سيغطي المقال المفاهيم التقنية المرتبطة، وأفضل الممارسات، بالإضافة إلى الجدول الزمني للأوامر النموذجية المستخدمة خلال هذه العملية.
أولاً: لمحة تعريفية حول Git
Git هو نظام لإدارة الإصدارات الموزعة (Distributed Version Control System – DVCS). تتمثل الفكرة الرئيسية وراء Git في تتبع التغييرات التي تطرأ على الملفات والمجلدات، مما يتيح للمستخدمين العودة إلى الإصدارات السابقة، التفرع لتجريب ميزات جديدة، ودمج العمل من عدة مساهمين في مشروع مشترك.
يتم تخزين جميع التعديلات والعمليات ضمن قاعدة بيانات تُعرف باسم “المستودع” (Repository)، والذي يمكن أن يكون محلياً على جهاز المستخدم، أو بعيداً على خادم مركزي مثل GitHub أو GitLab أو Bitbucket.
ثانياً: تثبيت Git على النظام
قبل الشروع في إنشاء المستودع، يجب التأكد من أن Git مثبت على جهازك. تختلف خطوات التثبيت تبعاً لنظام التشغيل المستخدم:
على نظام Windows:
-
يمكن تحميل الحزمة التنفيذية من الموقع الرسمي: https://git-scm.com
-
بعد التثبيت، يتم استخدام Git Bash، وهي واجهة شبيهة بسطر الأوامر تدعم أوامر Git بشكل كامل.
على نظام macOS:
-
باستخدام Homebrew:
bashbrew install git
على نظام Linux:
-
على توزيعات Debian أو Ubuntu:
bashsudo apt update sudo apt install git -
على توزيعات Fedora:
bashsudo dnf install git
بعد التثبيت، يمكن التحقق من نجاح العملية باستخدام الأمر:
bashgit --version
ثالثاً: تهيئة Git لأول مرة
قبل إنشاء أول مستودع، يُفضَّل ضبط إعدادات المستخدم العالمية حتى يتعرف Git على صاحب التعديلات:
bashgit config --global user.name "اسمك الكامل"
git config --global user.email "بريدك الإلكتروني"
يمكن التحقق من الإعدادات باستخدام:
bashgit config --list
رابعاً: إنشاء مستودع محلي
1. اختيار مجلد المشروع
ابدأ بإنشاء مجلد جديد (أو استخدام مجلد موجود) يحتوي على ملفات المشروع:
bashmkdir my-first-repo
cd my-first-repo
2. تهيئة المستودع
لإنشاء مستودع Git جديد داخل هذا المجلد، يُستخدم الأمر:
bashgit init
هذا الأمر ينشئ مجلدًا فرعيًا باسم .git يحتوي على جميع ملفات التتبع الداخلية الخاصة بـ Git. لا يُوصى بحذف هذا المجلد أو التعديل عليه يدويًا.
خامساً: إضافة الملفات للمستودع
بعد تهيئة المستودع، يمكنك الآن إضافة ملفات المشروع لتتبعها. لنفترض أن لديك ملفاً باسم index.html:
1. فحص حالة المستودع:
bashgit status
ستظهر الملفات التي لم تتم إضافتها بعد للتتبع.
2. إضافة الملفات:
لإضافة ملف محدد:
bashgit add index.html
لإضافة جميع الملفات في المجلد:
bashgit add .
سادساً: حفظ التعديلات باستخدام Commits
بعد إضافة الملفات، يتم حفظ التعديلات عبر إنشاء “Commit”، وهو بمثابة لقطة (Snapshot) للملفات في لحظة معينة.
bashgit commit -m "الرسالة التي توضح طبيعة التعديل"
يفضل كتابة رسائل commit واضحة ومباشرة تُفيد الفريق أو نفسك مستقبلاً في فهم سبب التعديل.
سابعاً: استعراض سجل التعديلات
يمكنك استعراض التعديلات السابقة باستخدام الأمر:
bashgit log
ستظهر قائمة بجميع الـ commits مرتبة زمنياً، مع كل من:
-
معرف الـ commit (hash)
-
اسم المؤلف
-
التاريخ
-
رسالة التعديل
ثامناً: ربط المستودع المحلي بمستودع بعيد
غالباً ما يرغب المطورون في مزامنة عملهم مع منصة تخزين على الإنترنت مثل GitHub. لربط المستودع المحلي بمستودع GitHub، اتبع الخطوات التالية:
1. إنشاء مستودع جديد على GitHub
-
افتح حساب GitHub
-
اضغط على زر “New Repository”
-
أدخل اسم المستودع وبعض التفاصيل
-
لا تضف أي ملفات من واجهة GitHub (مثل README)، حتى لا تتعارض مع المستودع المحلي
2. ربط المستودع المحلي بالبعيد
بعد إنشاء المستودع على GitHub، قم بنسخ رابط HTTPS أو SSH.
في المستودع المحلي:
bashgit remote add origin https://github.com/username/repo-name.git
يمكن التأكد من الربط باستخدام:
bashgit remote -v
تاسعاً: رفع الملفات إلى GitHub
بما أن هذا هو أول رفع (push)، يجب تحديد الفرع الرئيسي في بعض الأحيان باسم main:
bashgit branch -M main git push -u origin main
بعد التنفيذ، ستُرفع جميع الملفات إلى مستودع GitHub ويمكن استعراضها من المتصفح.
عاشراً: جدول الأوامر الأساسية في Git
| الأمر | الوظيفة |
|---|---|
git init |
إنشاء مستودع جديد |
git add |
إضافة الملفات للمراقبة |
git commit |
حفظ التعديلات |
git status |
عرض حالة الملفات |
git log |
استعراض سجل التعديلات |
git remote add origin |
ربط المستودع البعيد |
git push |
رفع التعديلات للمستودع البعيد |
git pull |
سحب التعديلات من المستودع البعيد |
git clone |
نسخ مستودع موجود على GitHub إلى الجهاز المحلي |
الحادي عشر: بعض الممارسات الاحترافية في إدارة المستودعات
-
تنظيم رسائل commit: يجب أن تكون مختصرة ودقيقة.
-
ملف .gitignore: يستخدم لتحديد الملفات التي لا يجب تتبعها (مثل ملفات النظام المؤقتة، ملفات الكومبايل، إلخ).
-
العمل على فروع (Branches): من الأفضل عدم التعديل مباشرة على الفرع الرئيسي، بل إنشاء فرع خاص لكل ميزة جديدة.
-
الدمج (Merging): عند الانتهاء من تطوير ميزة في فرع مستقل، يجب دمجها مع الفرع الرئيسي باستخدام:
bashgit merge feature-branch
الثاني عشر: فهم بنية المستودع في Git
عند تهيئة مستودع Git، يتم إنشاء البنية التالية داخلياً:
-
HEAD: يشير إلى آخر commit نشط.
-
Index: المرحلة الوسيطة بين إضافة الملفات وتنفيذ commit.
-
Working Directory: المجلد الفعلي الذي تعمل فيه على الملفات.
هذا النموذج يتيح لـ Git أداء عمليات متقدمة مثل إعادة الترتيب، الدمج، والتراجع عن التعديلات دون فقدان البيانات.
الثالث عشر: التعامل مع التعديلات غير المحفوظة
في بعض الأحيان قد تحتاج إلى التراجع عن تعديلات لم يتم تنفيذ commit لها بعد. من الأوامر المهمة في هذا السياق:
-
لإلغاء التعديلات في ملف معين:
bashgit checkout -- اسم_الملف -
لإزالة الملفات من المرحلة قبل commit:
bashgit reset اسم_الملف
الرابع عشر: مشاركة المشروع مع فرق العمل
من أقوى مزايا Git القدرة على مشاركة المشروع بين عدة أفراد. من خلال رفع التعديلات وسحبها (push & pull) وتنسيق العمل على الفروع المختلفة، يمكن لكل فرد العمل على جزء معين من المشروع ثم دمجه لاحقاً دون تعارضات.
تُستخدم منصات مثل GitHub لتنسيق هذه العمليات بشكل بصري، خاصة عند مراجعة الكود من خلال Pull Requests، وهي طلبات لدمج تغييرات من فرع معين إلى الفرع الرئيسي.
الخامس عشر: الفرق بين Git و GitHub
رغم أن Git و GitHub غالباً ما يُستخدمان معاً، إلا أنهما ليسا الشيء ذاته:
-
Git: أداة لإدارة الإصدارات تعمل محلياً.
-
GitHub: منصة تخزين سحابي لمستودعات Git، توفر واجهة رسومية وخدمات تعاون.
يمكن استخدام Git مع منصات أخرى مثل GitLab، Bitbucket، وغيرها، لكن GitHub هي الأكثر انتشاراً.
المصادر والمراجع
-
Chacon, Scott, and Ben Straub. Pro Git. Apress, 2014.
-
Git Documentation: https://git-scm.com/docs
هذا المقال يمثل دليلاً عملياً وتقنياً متكاملاً لكل من يرغب بإنشاء أول مستودع له باستخدام Git، بدءاً من التهيئة وحتى مزامنة العمل مع منصات التخزين السحابي. المعرفة الدقيقة بهذه الخطوات تُعد ضرورية لكل مبرمج أو مطوّر يسعى إلى اعتماد منهجية فعالة لإدارة إصدارات مشروعه.

