شرح Git و طريقة العمل بها

شرح Git و طريقة العمل بها

7 ماي 2022|3 دقائق قراءة

في عالم البرمجة كاينين العديد من الأدوات اللي أنت كمبرمج خاصك ضروري تكون عارفهم و كاتستخدمهم. من بين هاد الأدوات غانهضرو اليوم على Git , غانتعرفو على الدور ديالها في سير العمل و كذلك كيفاش تستخدمها.

ما هي Git ؟؟

Git هي أداة كاتمكنك من حفظ و تتبع التغيرات اللي كاتقوم بها في ل code ديالك و أيضا كاتمكنك من أنك تقسم دوك التغيرات لمراحل عن طريق ما يسمى بال commit , هادشي كايعني أنه إلى مثلا تخربق ليك ل code و بغيتي ترجع لشي مرحلة ما , بإمكانك ترجع. هاد القضية بإمكانك تعتابرها بحال point de restauration اللي كاينا في windows , مثلا ثبتي شي برنامج و خربق ليك ل PC بإمكانك ترجع لواحد النقطة قبل ما ثبت داك البرنامج.

تثبيت Git :

بإمكانك تحمل Git من هاد الموقع, من بعد ما تحمل البرنامج , غاتقوم بالتثبيت ديالو فالحاسوب ديالك. طريقة التثبيت ساهلة , إلى وحلتي و ما عرفتي مادير كاينين في ل youtube العديد من الفيديوهات كايشرحو طريقة التثبيت.

من بعد التثبيت كتب في Terminal هاد الأمر. باش تتأكد بلي Git تثبتات بشكل صحيح. (هاد الأمر كايعطيك رقم الإصدار ديال git اللي عندك فالحاسوب ديالك)

git --version

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 status

مثلا فهاد المثال اللي فالصورة git كاتقول لينا بلي كاينن 1 الملف ما تضافش, الإسم ديالو بالأحمر. و الملف المضاف, الإسم ديالو بالأخضر.

3️⃣ إنشاء commit :

كيف ما قلنا سابقا, commit هي نقطة كانحفضو فيها الحالة ديال الملفات و بإمكانا نرجعو لديك النقطة فأي وقت بغينا. كل نقطة كايكون عندها إسم كايكون عبارة عن وصف للتغيرات اللي دارو على دوك الملفات .

كانشؤو commit بهاد الطريقة :

git commit -m "commit message"

git commit

4️⃣ تتبع ل commits :

بإمكانك تتبع جميع ل commits اللي تدارو فداك المشروع و أيضا كاتشوف إسم ل commit و شكون دارها.

git log

النتيجة كاتكون بحال هاد الشكل :

description

5️⃣ إنشاء الفروع branch :

أولا خاصنا نفهمو شناهو الفرع.

في كل مشروع كايكون الفرع الرئيسي Main branch و فيه كايتخزنو جميع التغيرات اللي درنا حتا كانوصلو للمرحلة فين المشروع ولا واجد.

مثلا ناخدو على سبيل المثال , هاد المشروع هو مدونة.

من بعد واحد المدة بغينا نضيفو شي خاصية للمدونة, العمل على هاد الخاصية مكايدارش فالفرع الرئيسي و إنما كانشؤو فرع جديد كانعطيوه سمية و فيه كانخدمو على الخاصية و حتى كانساليو و كانتأكدو باللي الخاصية الجديدة خدامة مزيان عاد كاندمجوه مع الفرع الرئيسي merge.

git branch

باش تشوف الفروع اللي كاينين فالمشروع , كاتستعمل هاد الأمر :

git branch

git show branch

الفرع اللي أنت فيه كايكون مكتوب باللون الأخضر.

كانشؤو فرع جديد بإستخدام هاد الأمر :

git branch "branch_name"

create new branch

كايتم إنشاء نسخة من المشروع و كاتحط فالفرع الجديد.

باش تتحول لهاد الفرع الجديد كاتستخدم هاد الأمر.

git checkout "branch_name"

switch branches

ملاحظة :

هادشي كامل اللي درنا لحد الأن غايتم الحفض ديالو فالحاسوب ديالك فقط.

باش تقدر تشارك المشروع مع الفريق ديالك و تخدمو فنفس الوقت و كل واحد ينشئ commit بإسمو خاصك تحطو فموقع مثل Github أو Gitlab.