في عالم البرمجة كاينين العديد من الأدوات اللي أنت كمبرمج خاصك ضروري تكون عارفهم و كاتستخدمهم. من بين هاد الأدوات غانهضرو اليوم على Git
, غانتعرفو على الدور ديالها في سير العمل و كذلك كيفاش تستخدمها.
ما هي Git ؟؟
Git
هي أداة كاتمكنك من حفظ و تتبع التغيرات اللي كاتقوم بها في ل code ديالك و أيضا كاتمكنك من أنك تقسم دوك التغيرات لمراحل عن طريق ما يسمى بال commit
, هادشي كايعني أنه إلى مثلا تخربق ليك ل code و بغيتي ترجع لشي مرحلة ما , بإمكانك ترجع. هاد القضية بإمكانك تعتابرها بحال point de restauration
اللي كاينا في windows
, مثلا ثبتي شي برنامج و خربق ليك ل PC بإمكانك ترجع لواحد النقطة قبل ما ثبت داك البرنامج.
تثبيت Git :
بإمكانك تحمل Git
من هاد الموقع, من بعد ما تحمل البرنامج , غاتقوم بالتثبيت ديالو فالحاسوب ديالك. طريقة التثبيت ساهلة , إلى وحلتي و ما عرفتي مادير كاينين في ل youtube العديد من الفيديوهات كايشرحو طريقة التثبيت.
من بعد التثبيت كتب في Terminal
هاد الأمر. باش تتأكد بلي Git تثبتات بشكل صحيح. (هاد الأمر كايعطيك رقم الإصدار ديال git اللي عندك فالحاسوب ديالك)
git --version
طريقة العمل ب Git :
بعد التثبيت خاصك تعطي ل git
الإسم الخاص بك لأن كل تغير أو commit
في ل code كايتم الحفض ديالو تحت إسم الشخص اللي دارو باش هاكدا إلى كانو بزاف دناس اللي خدامين على داك المشروع كانعرفو كل واحد شنو دار و حتا ل code اللي ضاف و لا مسح.
كاتعطيها الإسم عن طريق هاد الأمر :
git config --global user.name "YOUR_USERNAME"
بإمكانك أيضا تعطيها الإميل email الخاص بك :
git config --global user.email "YOUR_EMAIL_ADDRESS"
ملي تبدا العمل على شي مشروع خاصك تضيف ليه git
, هاد العملية كاديرها عن طريق هاد الأمر :
git init
اهم الأوامر :
قبل مانشوفو هاد الأوامر خاصنا نعرفو بلي git
كاتقسم الملفات إلى 4 أقسام :
-
Unstaged
: أي ملف كاين فهاد القسم , git مكاتتبعش و مكاتقومش بحفض التغيرات اللي كايطراو فيه. -
Staged
: هاد القسم فيه الملفات الليgit
كاتراقبهم و كاتحفض التغيرات اللي فيهم -
Modified
: الملفات اللي كاينين فهاد القسم هوما الملفات اللي تدارو فيهم تغيرات لكن دوك التغيرات ما تمش الحفض ديالهم تحت نقطة معينة (commit). -
Committed
: أي ملف كاين فهاد القسم فهو ملف تم حفض كل التغيرات اللي فيه تحت نقطة معينة.
1️⃣ إضافة الملفات ل Git :
أنت اللي كاتحدد ل git شنو الملفات اللي بغيتيها تراقب بإستخدام هاد الأمر :
git add "file_name"
كاتكتب git add
متبوعة بإسم الملف.
أو بإمكانك تضيف جميع الملفات بإستخدام هاد الأمر :
git add .
2️⃣ تتبع التغيرات :
لتتبع التغيرات و الملفات المضافة و الغير مضافة, يمكنك إستعمال هذا الأمر :
git status
مثلا فهاد المثال اللي فالصورة git
كاتقول لينا بلي كاينن 1 الملف ما تضافش, الإسم ديالو بالأحمر. و الملف المضاف, الإسم ديالو بالأخضر.
3️⃣ إنشاء commit :
كيف ما قلنا سابقا, commit
هي نقطة كانحفضو فيها الحالة ديال الملفات و بإمكانا نرجعو لديك النقطة فأي وقت بغينا. كل نقطة كايكون عندها إسم كايكون عبارة عن وصف للتغيرات اللي دارو على دوك الملفات .
كانشؤو commit
بهاد الطريقة :
git commit -m "commit message"
4️⃣ تتبع ل commits :
بإمكانك تتبع جميع ل commits
اللي تدارو فداك المشروع و أيضا كاتشوف إسم ل commit
و شكون دارها.
git log
النتيجة كاتكون بحال هاد الشكل :
5️⃣ إنشاء الفروع branch :
أولا خاصنا نفهمو شناهو الفرع.
في كل مشروع كايكون الفرع الرئيسي Main branch
و فيه كايتخزنو جميع التغيرات اللي درنا حتا كانوصلو للمرحلة فين المشروع ولا واجد.
مثلا ناخدو على سبيل المثال , هاد المشروع هو مدونة.
من بعد واحد المدة بغينا نضيفو شي خاصية للمدونة, العمل على هاد الخاصية مكايدارش فالفرع الرئيسي و إنما كانشؤو فرع جديد كانعطيوه سمية و فيه كانخدمو على الخاصية و حتى كانساليو و كانتأكدو باللي الخاصية الجديدة خدامة مزيان عاد كاندمجوه مع الفرع الرئيسي merge
.
باش تشوف الفروع اللي كاينين فالمشروع , كاتستعمل هاد الأمر :
git branch
الفرع اللي أنت فيه كايكون مكتوب باللون الأخضر.
كانشؤو فرع جديد بإستخدام هاد الأمر :
git branch "branch_name"
كايتم إنشاء نسخة من المشروع و كاتحط فالفرع الجديد.
باش تتحول لهاد الفرع الجديد كاتستخدم هاد الأمر.
git checkout "branch_name"
ملاحظة :
هادشي كامل اللي درنا لحد الأن غايتم الحفض ديالو فالحاسوب ديالك فقط.
باش تقدر تشارك المشروع مع الفريق ديالك و تخدمو فنفس الوقت و كل واحد ينشئ commit بإسمو خاصك تحطو فموقع مثل Github أو Gitlab.