
يُعد Git Bash أداة قوية وضرورية للمطورين، حيث يوفر بيئة سطر أوامر شبيهة بـ Unix على أنظمة التشغيل Windows، مما يتيح التفاعل الفعال مع نظام التحكم بالإصدار Git. يركز هذا المقال على تقديم حلول عملية لأوامر Git Bash الأكثر استخدامًا، مع التركيز على الدقة والوضوح.
ما هو Git Bash؟
Git Bash هو تطبيق يوفر طبقة محاكاة لـ Bash (Bourne Again SHell) لتشغيل أوامر Git على نظام Windows. يشتمل على Git نفسه، بالإضافة إلى أدوات مساعدة أخرى مثل SSH و SCP، مما يجعله بيئة متكاملة لإدارة مشاريعك البرمجية والتعامل مع المستودعات المحلية والبعيدة.
تهيئة Git والإعدادات الأولية
قبل البدء في استخدام Git، من الضروري تهيئة اسم المستخدم والبريد الإلكتروني الخاص بك. هذه المعلومات ستظهر في جميع التزاماتك (commits).
- تعيين اسم المستخدم:
git config --global user.name "اسمك هنا" - تعيين البريد الإلكتروني:
git config --global user.email "بريدك_الإلكتروني@مثال.كوم" - التحقق من الإعدادات:
git config --list
أوامر Git الأساسية
إنشاء مستودع جديد
لتحويل مجلد مشروعك إلى مستودع Git، استخدم الأمر git init. هذا ينشئ مجلد .git مخفيًا يحتوي على جميع البيانات اللازمة لتتبع التغييرات.
git init
إضافة الملفات والالتزام بالتغييرات
بعد إجراء التغييرات على ملفاتك، تحتاج إلى "إضافة" هذه التغييرات إلى منطقة التجهيز (staging area) ثم "الالتزام" بها (commit) لتسجيلها في سجل Git.
- إضافة ملف واحد:
git add اسم_الملف.txt - إضافة جميع الملفات المعدلة:
git add . - الالتزام بالتغييرات:
git commit -m "رسالة وصفية للالتزام"معلومة!
يجب أن تكون رسالة الالتزام واضحة وموجزة لتصف التغييرات التي تم إجراؤها.
التحقق من الحالة والسجل
لمعرفة حالة مستودعك وسجل التغييرات، استخدم الأوامر التالية:
- عرض حالة المستودع: يظهر الملفات المعدلة، المضافة للتجهيز، وغير المتتبعة.
git status - عرض سجل الالتزامات: يعرض قائمة بالالتزامات السابقة، مع معرف الالتزام، المؤلف، التاريخ، والرسالة.
git logلعرض سجل مختصر، استخدم
git log --oneline.
التعامل مع المستودعات البعيدة
تتيح لك هذه الأوامر التفاعل مع المستودعات المستضافة على منصات مثل GitHub أو GitLab.
استنساخ مستودع بعيد
لنسخ مستودع موجود من خادم بعيد إلى جهازك المحلي:
git clone <URL_المستودع>
مثال:git clone https://github.com/user/repo.git
إضافة مستودع بعيد
إذا كان لديك مستودع محلي وترغب في ربطه بمستودع بعيد:
git remote add origin <URL_المستودع>
معلومة!
"origin" هو الاسم التقليدي للمستودع البعيد الرئيسي.
دفع وسحب التغييرات
لتبادل التغييرات بين مستودعك المحلي والمستودع البعيد:
- دفع التغييرات (Push): لإرسال التزاماتك المحلية إلى المستودع البعيد.
git push -u origin mainالخيار
-u(أو--set-upstream) يربط الفرع المحلي بالفرع البعيد، مما يسمح لك باستخدامgit pushوgit pullلاحقًا بدون تحديدorigin main. - سحب التغييرات (Pull): لجلب التغييرات من المستودع البعيد ودمجها في فرعك المحلي.
git pull origin main
الفروع والدمج (Branching & Merging)
تعتبر الفروع ميزة أساسية في Git تسمح للمطورين بالعمل على ميزات جديدة أو إصلاح الأخطاء بشكل مستقل عن الفرع الرئيسي للمشروع.
إنشاء وتبديل الفروع
- إنشاء فرع جديد:
git branch اسم_الفرع_الجديد - التبديل إلى فرع:
git checkout اسم_الفرع - إنشاء وتبديل في خطوة واحدة:
git checkout -b اسم_الفرع_الجديد - عرض الفروع:
git branchالفرع الحالي يظهر بعلامة نجمة.
دمج الفروع
بعد الانتهاء من العمل على فرع، يمكنك دمجه مرة أخرى في الفرع الرئيسي (أو أي فرع آخر).
- التبديل إلى الفرع الهدف: (مثلاً، الفرع الرئيسي
main)git checkout main - دمج الفرع الآخر:
git merge اسم_الفرع_للمزجتحذير!
قد تحدث تعارضات دمج (merge conflicts) إذا كانت هناك تغييرات متضاربة في نفس الأسطر من الملفات. يجب حل هذه التعارضات يدويًا قبل إتمام الدمج. - حذف الفرع بعد الدمج: (اختياري)
git branch -d اسم_الفرع_للحذف
أوامر إضافية مفيدة
هذه بعض الأوامر التي قد تحتاجها في سيناريوهات مختلفة:
- التراجع عن التغييرات المحلية (قبل الالتزام):
git restore اسم_الملفللتراجع عن جميع التغييرات في المجلد الحالي (غير الملتزم بها):
git restore . - إلغاء التجهيز (Unstaging) لملف:
git restore --staged اسم_الملف - التراجع عن آخر التزام (Soft Reset):
git reset --soft HEAD~1هذا يعيد الفرع إلى الالتزام السابق، مع الاحتفاظ بالتغييرات في منطقة التجهيز.
- التراجع عن آخر التزام (Hard Reset):
git reset --hard HEAD~1تحذير!
هذا الأمر خطير لأنه يحذف جميع التغييرات غير الملتزم بها ويعيد المستودع إلى حالة الالتزام المحدد. استخدمه بحذر شديد.
ما الفرق بين Git Bash و Git GUI؟
Git Bash هو واجهة سطر أوامر (CLI) تتيح لك تنفيذ أوامر Git مباشرة. بينما Git GUI هو واجهة رسومية للمستخدم (GUI) توفر طريقة مرئية للتفاعل مع Git، مما قد يكون أسهل للمبتدئين ولكنه أقل مرونة وقوة من سطر الأوامر.
كيف أحل تعارضات الدمج (Merge Conflicts)؟
عند حدوث تعارض، سيقوم Git بوضع علامات خاصة في الملفات المتعارضة (<<<<<<<، =======، >>>>>>>). يجب عليك فتح هذه الملفات يدويًا، وحذف العلامات، واختيار الإصدار الصحيح من الكود، ثم حفظ الملفات، وإضافتها مرة أخرى إلى منطقة التجهيز (git add .)، وأخيرًا الالتزام بالدمج (git commit).
هل يمكنني استخدام Git Bash مع أي مستودع Git بعيد؟
نعم، يمكن لـ Git Bash التفاعل مع أي مستودع Git بعيد، سواء كان مستضافًا على GitHub، GitLab، Bitbucket، أو حتى خادم Git خاص بك، طالما أن لديك الأذونات اللازمة (عادةً عبر SSH أو HTTPS).
يُعد إتقان أوامر Git Bash أمرًا بالغ الأهمية لأي مطور يسعى لتحسين سير عمله والتحكم الكامل في مشاريع البرمجيات. من خلال هذه الأوامر الأساسية والمتقدمة، يمكنك إدارة مستودعاتك بفعالية، التعاون مع الفرق، والحفاظ على سجل نظيف لتغييراتك.
المشاركات ذات الصلة
المقال الأصلي:
إتقان سطر الأوامر: دليلك الشامل لأوامر Git Bash
المصدر: صِوان AI
شكر خاص لـ GEMINI و جمال الحزازي.