دليل سريع وسهل للبدء مع Git
Git هو نظام تتبع التوزيع (DVCS) يساعد المطورين على إدارة التغييرات في الكود المصدري بمرور الوقت. تم إنشاؤه بواسطة لينوس تورفالدز في عام 2005 لتطوير نواة لينكس.
ببساطة، Git يسمح لك:
Git لا يتطلب خادم مركزي للعمل، يمكنك استخدامه محلياً على جهازك، وهذا يجعله أسرع وأكثر مرونة من العديد من أنظمة التحكم في الإصدارات الأخرى.
Git أصبح المعيار في صناعة البرمجة للأسباب التالية:
المستودع (Repository) هو المكان الذي يتم فيه تخزين ملفات مشروعك وتاريخ التغييرات. يمكنك إنشاء مستودع Git بطريقتين:
لإنشاء مستودع جديد في مجلد مشروعك، استخدم الأمر التالي:
$ git init
هذا الأمر ينشئ مجلداً فرعياً اسمه .git
يحتوي على جميع الملفات اللازمة لـ Git.
للحصول على نسخة من مستودع موجود، استخدم الأمر git clone
متبوعاً بعنوان المستودع:
$ git clone https://github.com/username/repository.git
عند استنساخ مستودع، يقوم Git تلقائياً بإعداد مجلد .git
وتنزيل جميع الملفات من المستودع البعيد.
لمعرفة حالة الملفات في مستودعك، استخدم الأمر:
$ git status
هذا الأمر يعرض الملفات التي تم تغييرها أو إضافتها أو حذفها منذ آخر التزام.
خطأ شائع: نسيان استخدام git status
بانتظام. هذا الأمر مهم جداً لمعرفة ما يحدث في مستودعك وتجنب الارتباك.
بعد إنشاء المستودع، تحتاج إلى إضافة الملفات التي تريد تتبعها باستخدام الأمر git add
:
$ git add filename.txt
$ git add .
عند إضافة ملف، يتم نقله من حالة "Untracked" إلى حالة "Staged"، مما يعني أنه جاهز للالتزام.
الالتزام (Commit) هو حفظ التغييرات في تاريخ المستودع. لعمل التزام، استخدم الأمر git commit
:
$ git commit -m "وصف التغييرات التي قمت بها"
يجب أن يكون وصف الالتزام واضحاً ومختصراً ويشرح التغييرات التي قمت بها.
إذا قمت بتعديل ملف بعد إضافته (Staged)، ستحتاج إلى إضافته مرة أخرى قبل عمل التزام.
لعرض تاريخ الالتزامات في مستودعك، استخدم الأمر:
$ git log
خطأ شائع: كتابة أوصاف التزامات غير واضحة أو عامة مثل "تحديث" أو "تغييرات". كن محدداً واكتب وصفاً يوضح ماذا قمت ولماذا.
التفريعات في Git تسمح لك بالعمل على ميزات أو إصلاحات بشكل منفصل عن الكود الرئيسي. هذا يسمح للعديد من المطورين بالعمل على نفس المشروع دون التداخل في عمل بعضهم البعض.
لإنشاء فرع جديد، استخدم الأمر:
$ git branch new-feature
للتبديل إلى فرع موجود، استخدم الأمر:
$ git checkout new-feature
يمكنك أيضاً إنشاء فرع جديد والتبديل إليه في أمر واحد:
$ git checkout -b new-feature
لعرض جميع الفروع في مستودعك، استخدم الأمر:
$ git branch
سيتم عرض قائمة بالفروع، مع علامة (*) بجانب الفرع الحالي.
الفرع الرئيسي في Git يسمى عادةً main
أو master
. من الممارسات الجيدة إنشاء فرع جديد لكل ميزة أو إصلاح تقوم به.
خطأ شائع: العمل مباشرة على الفرع الرئيسي (main/master) بدلاً من إنشاء فرع جديد. هذا قد يؤدي إلى مشاكل عند دمج التغييرات لاحقاً.
بعد الانتهاء من العمل على فرع جديد، يمكنك دمجه مع الفرع الرئيسي باستخدام الأمر git merge
:
$ git checkout main
$ git merge new-feature
أحياناً يحدث تعارض عند محاولة دمج فرعين يحتويان على تغييرات في نفس الملف. عندما يحدث هذا، سيتوقف Git عن الدمج ويطلب منك حل التعارض يدوياً.
<<<<<<< HEAD
// الكود من الفرع الحالي
=======
// الكود من الفرع الذي تدمجه
>>>>>>> new-feature
$ git add filename.txt
$ git commit -m "حل تعارضات الدمج"
خطأ شائع: تجاهل التعارضات أو حذف الكود بشكل عشوائي. خذ وقتك لفهم التعارض واختيار الكود الصحيح للاحتفاظ به.
جرب هذا التمرين البسيط لتطبيق ما تعلمته:
$ mkdir my-project
$ cd my-project
$ git init
index.html
وأضف بعض HTML بسيط:<!DOCTYPE html>
<html>
<head>
<title>صفحتي</title>
</head>
<body>
<h1>مرحباً بالعالم</h1>
</body>
</html>
$ git add index.html
$ git commit -m "إضافة صفحة HTML أساسية"
feature
:$ git checkout -b feature
index.html
بإضافة فقرة:<body>
<h1>مرحباً بالعالم</h1>
<p>هذه صفحتي الأولى</p>
</body>
$ git add index.html
$ git commit -m "إضافة فقرة ترحيبية"
$ git checkout main
$ git merge feature
مبروك! لقد قمت بإنشاء فرع جديد، إجراء تغييرات، والعودة بالفرع الرئيسي ودمج التغييرات.
Git أداة قوية للتحكم في الإصدارات تساعدك على تتبع التغييرات في مشاريعك والتعاون مع الآخرين. في هذا الدليل السريع، تعلمت:
هذه هي الأساسيات التي تحتاجها للبدء مع Git. مع الممارسة، ستكتشف المزيد من الميزات القوية التي يوفرها Git.
لمزيد من التعلم، جرب استخدام منصات مثل GitHub أو GitLab لاستضافة مستودعاتك ومشاركتها مع الآخرين.