Git هو نظام تحكم إصدارات موزع يسمح لفرق المطورين بالتعاون بكفاءة على الشفرة البرمجية. مع Git، يمكنك تتبع التغييرات على مشروعك مع مرور الوقت، والتعاون بسهولة مع الآخرين، ودمج تغييرات الشفرة من مطورين متعددين.
كمبتدئ، من المهم تعلم بعض الأوامر الأساسية لـ Git وسير العمل لبدء استخدام التحكم بالإصدارات بفعالية. سيقوم هذا الدليل بشرح الأوامر الأساسية لـ Git والعمليات خطوة بخطوة لمساعدتك على البدء باستخدام Git والتحكم بالإصدارات.
إعداد Git
لبدء استخدام Git، تحتاج إلى تثبيته على جهاز الكمبيوتر الخاص بك أولاً. فيما يلي كيفية الإعداد:
تثبيت Git
- على لينكس/يونكس: عادة ما يأتي Git مثبتاً مسبقًا مع معظم توزيعات لينكس. للتأكيد، افتح محطة طرفية واكتب
git --version
للتحقق من تثبيت Git. إذا لم يكن كذلك، استخدم مدير الحزم الخاص بالتوزيعة الخاصة بك لتثبيته (مثلapt-get install git
على أوبونتو/دبيان). - على ماك: قم بتثبيت Git عبر Homebrew باستخدام
brew install git
، أو قم بتنزيل المثبّت من git-scm.com. - على ويندوز: قم بتنزيل وتشغيل مثبّت Git من git-scm.com. اختر الخيارات الخاصة بك أثناء عملية التثبيت.
إعداد Git
بمجرد تثبيت Git، تحتاج إلى تكوين اسمك وعنوان بريدك الإلكتروني لتحديد التثبيتات البرمجية الخاصة بك:
$ git config --global user.name "اسمك"
$ git config --global user.email "ريدك.الب@مثال.com"
هذا يربط نشاط Git الخاص بك بهويتك. علم --global
يحدد هذا الاسم المستخدم/البريد الإلكتروني لجميع مستودعات Git على نظامك.
إنشاء مفاتيح SSH (اختياري)
إذا كنت تخطط للاتصال بمستودعات Git عن بُعد عبر SSH ، فأنت بحاجة إلى إنشاء مفاتيح SSH. يسمح لك ذلك بالدفع إلى المستودعات دون إدخال كلمة المرور الخاصة بك في كل مرة.
لإنشاء مفاتيح:
$ ssh-keygen -t rsa -b 4096 -C "ريدك.الب@مثال.com"
سيقوم هذا بإنشاء زوج مفاتيح عامة وخاصة SSH. بعد ذلك يمكنك إضافة المفتاح العام الخاص بك إلى خدمات مثل GitHub للاتصال عبر SSH.
أنت الآن على استعداد لبدء استخدام Git! دعونا نراجع بعض المفاهيم والأوامر الأساسية.
مفاهيم Git
قبل تعلم أوامر Git ، من المهم فهم بعض المفاهيم الأساسية في Git:
- مستودع: المستودع (أو repo) يحتوي على مجموعة كاملة من الملفات والمجلدات المرتبطة بمشروع ما، إلى جانب سجل مراجعة كل ملف.
- التثبيت البرمجي: التثبيت البرمجي هو لقطة لمستودعك في نقطة معينة في الوقت. تقوم التثبيتات البرمجية بتسجيل التغييرات التي تجريها على الشفرة.
- فرع: الفرع يمثل خط تطوير مستقل. بشكل افتراضي، يحتوي كل مستودع على فرع رئيسي (عادةً ما يُسمى master) والذي يعمل كفرع مرجعي.
- دمج: الدمج يجمع التغييرات من فرع واحد إلى آخر، على سبيل المثال دمج تغييرات فرع الميزات في الفرع الرئيسي.
- الوحدة البعيدة: المستودع البعيد هو المستودع المستضاف على الإنترنت أو الشبكة. يتيح للمتعاونين الدفع والسحب.
- استنساخ: الاستنساخ ينزّل مستودع بعيد إلى جهازك المحلي حتى تتمكن من العمل عليه.
تتيح هذه المفاهيم سير عمل تعاوني قوي في Git. احتفظ بها في ذهنك أثناء مرورنا على الأوامر الأساسية.
أوامر Git
دعونا نغوص الآن في أوامر Git الأساسية وسير العمل التي ستستخدمها في التطوير اليومي.
git init
يهيئ مستودع Git جديد في الدليل الحالي. هذا يحول الدليل العادي إلى مشروع Git حيث يمكنك بدء تتبع التغييرات.
$ git init
git status
يفحص حالة المستودع ويعرض الملفات غير المتتبعة والمعدلة والمرحلة، إلخ. أمر مفيد للغاية.
$ git status
git add
يضيف التغييرات في ملفات الدليل العامل الخاص بك إلى منطقة المرحلة لتتم إضافتها في التثبيت البرمجي التالي. استدعِ git add على ملفات أو دلائل محددة مثل:
$ git add file.txt
$ git add folder/
لإضافة جميع الملفات المعدلة، استخدم:
$ git add .
git commit
يثبت لقطة المرحلة في سجل المشروع. يمكن اعتبار اللقطات المثبتة بمثابة “نقاط حفظ” يمكنك العودة إليها لاحقًا.
اكتب دائمًا رسالة تثبيت وصفية:
$ git commit -m "رسالة التثبيت الوصفية الخاصة بك"
git log
يعرض سجل التثبيت مع اسم المؤلف والتاريخ ورسالة التثبيت. مفيد لعرض تاريخ المشروع والعثور على التثبيتات القديمة:
$ git log
git checkout
الاستخراج يتنقل بين الفروع في مستودع. لبدء العمل على فرع جديد:
$ git checkout -b اسم-الفرع
للتبديل إلى فرع موجود:
$ git checkout اسم-الفرع
وللتبديل مرة أخرى إلى الرئيسي:
$ git checkout main
git merge
يدمج التغييرات من فرع واحد إلى فرعك الحالي (على سبيل المثال دمج تغييرات ميزة في الرئيسي).
$ git merge الفرع-للدمج
يؤدي هذا الدمج. سيقوم Git بدمج التغييرات تلقائيًا إذا لم تكن هناك تضاربات كبيرة بين الفروع.
git remote
يدير الاتصالات بالمستودعات البعيدة. ستحتاج إلى إضافة وحدة بعيدة لدفع مستودعك إلى خدمة استضافة مثل GitHub:
$ git remote add origin https://github.com/user/repo.git
تحقق من اتصالات الوحدة البعيدة الخاصة بك باستخدام:
$ git remote -v
git push
يدفع التثبيتات المحلية إلى المستودع البعيد المحدد. على سبيل المثال:
$ git push origin main
يدفع هذا فرع main المحلي الخاص بك إلى فرع main في الوحدة البعيدة origin.
git pull
يسحب التغييرات من مستودع بعيد إلى مستودعك المحلي. يسحب التغييرات من الوحدة البعيدة أولاً ثم يدمجها في فرعك المحلي:
$ git pull origin main
git clone
يستنسخ مستودع بعيد لإنشاء نسخة عمل محلية. على سبيل المثال:
$ git clone https://github.com/user/repo.git
يقوم هذا بتنزيل المستودع البعيد إلى جهازك حتى تتمكن من العمل محليًا.
تلك هيتلك هي الأوامر الرئيسية لـ Git وسير العمل لبدء استخدام التحكم بالإصدارات. وتشمل بعض الأوامر المفيدة الأخرى:
git diff
لعرض الاختلافات بين التثبيتات البرمجية والفروع والدليل العامل مقابل المستودع الخ.git reset
لإلغاء التغييرات المحلية واستعادة حالة المستودعgit rebase
لإعادة ترتيب تثبيتاتك البرمجية على فرع آخر
والمزيد! توفر وثائق Git مرجعًا مفصلاً للأوامر المتقدمة.
دعنا نرى الآن مثالًا بسيطًا على سير عمل Git التعاوني…
مثال على سير عمل Git التعاوني
فيما يلي مثال على سير العمل لتطوير مشروع بشكل تعاوني باستخدام مستودع Git عن بُعد ومساهمين متعددين:
- أهيئ Git في مجلد مشروع جديد:
$ git init
- أنشئ المستودع البعيد على GitHub
- وصِل المستودع المحلي بالمستودع البعيد:
$ git remote add origin https://github.com/user/repo.git
- أنشئ فرع ميزة جديد محليًا:
$ git checkout -b ميزة-جديدة
- أجرِ تغييرات وثبّت والتثبيت البرمجي محليًا:
$ git add .
$ git commit -m "إضافة ميزة جديدة"
- اسحب آخر التغييرات البعيدة:
$ git fetch
- ادمج فرع main البعيد في فرع الميزة الخاص بك:
$ git merge origin/main
- ادفع فرع الميزة إلى المستودع البعيد:
$ git push origin ميزة-جديدة
- على GitHub، أنشئ طلب سحب لدمج ميزة-جديدة في main
- راجع الشفرة واعتمد ودمج طلب السحب على GitHub
- اسحب main البعيد إلى المستودع المحلي:
$ git pull origin main
- تفقد main محليًا:
$ git checkout main
تم الآن جلب تغييرات زميلك إلى فرع main المحلي الخاص بك.
يوضح هذا سير عمل تعاوني كامل:
- تشعيب ميزة محليًا
- الدفع إلى المستودع البعيد
- إنشاء طلب سحب للدمج في main
- جلب أحدث main إلى المستودع المحلي
من خلال الاستفادة من الفروع والتثبيتات البرمجية والدمج والوحدات البعيدة، يمكنك التعاون بكفاءة على الشفرة!
الخلاصة
تلك هي الأوامر الرئيسية لـ Git وسير العمل لبدء استخدام التحكم بالإصدارات لمشاريعك وشفرتك. وفيما يلي بعض النصائح الإضافية:
- قم بالتثبيت البرمجي بانتظام مع رسائل وصفية
- احتفظ بفرع main مستقرًا من خلال العمل على الميزات في الفروع
- قم بمزامنة مستودعك المحلي مع المستودع البعيد بشكل متكرر للحصول على أحدث التغييرات
- استفد من طلبات السحب / الدمج للمراجعات من قِبل الأقران
- استخدم
git log
وgit diff
لفحص التغييرات
يتيح Git تعاونًا قويًا وتحكمًا بالإصدارات للمشاريع. إن تعلم أوامره الأساسية يمكّنك من إدارة الشفرة بسرعة مع Git. توفر وثائق Git المزيد من التفاصيل حول سير العمل المتقدم.
مع هذه الأساسيات، لديك الآن الأدوات الأساسية لبدء التحكم بإصدارات شفرتك!