Mohon Aktifkan Javascript!Enable JavaScript

About

About

منوعات

أخر المشاركات

Navigation

ماهو Git

What is Git,Git distributes,Git snapshots,Git interfaces,GitHub,Sparkleshare,Who should use Git,Getting started with Git,Git,How to Get Started with Git and Github,مدخل إلى نظام التحكم في النسخ Git,تعرف على git وكيف يمكنك الاستفادة منه,دليل المبتدئين إلى Git
تخيّل أنك تعمل على تصميم برنامج معيّن وتحتفظ بنسخة منه على حاسوبك (ملف النسخة 1 مثلاً )
ثم تخيل أنك تريد عمل تعديلات مختلفة على البرنامج دون المساس بالنسخة اﻷولى، فسوف تصنع (ملف النسخة 2)
ثم تصنع نسخة ثالثة فرابعة وخامسة إلخ…
حيث أنك تضيف ميّزاتٍ مع مرور الزمن ولكنك في نفس الوقت تريد الاحتفاظ بالمراحل السابقة ( أى النسخ السابقة )
قبل إضافة ميّزة معيّنة ﻷسباب كثيرة، فتعمد إلى استعمال تلك الطريقة في إنشاء العديد من الملفات تباعًا
كما ترى: إن هذا اﻷمر غير عمليّ بالمرة وممل جدًا ومضيع للوقت، وهو عرضة للنسيان والخطأ اليس كذالك !!.
وتخيّل أيضًا أنك كتبتَ ميّزة جديدة قامت بتدمير الكود وإحداث أخطاء في البرنامج، ولقد نسيتَ الاحتفاظ بنسخة سابقة
وأنت لا تستطيع الرجوع للخلف، ماذا سوف تفعل لو حدث ذلك ؟!
ولنفرض مثلًا أن القرص الصلب على حاسوبك قد أصيب بخلل قاتل منعه من العمل أضاع كل ملفات مشروعك!؟
واﻷمر أبعد من ذلك، فربما تشارك تطوير البرنامج مع أشخاص آخرين وتضيفون تعديلاتٍ وتحذفون، إن استعمالكم لطريقة الملفات أعلاه سوف تسبب تضاربات وتعارضات كثيرة
What is Git
- "Git" لهذا السبب تم اختراع Git
وهو عبارة عن Version Control System , (أيّ نظام التحكم بالنُسخ واﻹصدارات الخاصة بالمشاريع)
وهنالك العديد من هذه الأنظمة مثل CVS, SVN, Mercurial, Fossil ولكن أشهرهم النظام ذائع الصيت Git، والذي طوّره مؤسس لينكس “لينوس تورفالدز”
Git نظام مفتوح المصدر تستخدمه العديد من الشركات وجماعات التطوير في إدارة إصدارات برامجها ومشاريعها؛
لعل أشهر مثال على ذلك هي شركة Microsoft التي تستعمله في إدارة تطوير نظام Windows!
وتوجد العديد من المواقع ومستودعات البرامج التي هي مثال تطبيقي على استخدام نظام Git
أشهرها هو موقع الويب أو مستودع GitHub
ولكن يمكنك أيضًا استعمال Git بدون GitHub، إلا أن هذا اﻷخير مستخدم على نطاقٍ واسع جدًا من قبل الكثير من الناس
Git snapshots
الـ snapshots المميزة الرئيسية في نظام Git، فكما يبدو من اسمها أنها لقطات من المشروع
إذّ يقوم Git بتخزين التعديلات التي تقوم بها على مرّ الزمان فيما يُعرف مجازًا باللقطات، بحيث يمكنك الرجوع إلى أي نسخة سابقة من المشروع، فهو مثل الكاميرا يلتقط كل شيء.
إذا كنتَ تتعاون مع شخص آخر في التطوير يمكنك دمج هذه التغييرات في فرع branch العمل خاصتك، وبالتالي فإن ذلك الشخص سوف يحصل على تلك النسخة الجديدة التي تم دمجها وسوف يستمر بالعمل بدءًا منها
Git distributes
إن العمل على أجهزة منفصلة لهو أمر معقد ﻷنك تريد الحصول على أحدث إصدار من المشروع خلال عملك وأن تُجري تغييراتك وتشاركها مع المطورين اﻵخرين، إن الطريقة المتعارف عليها للقيام بذلك هي عن طريق خدمات تشارك الملفات والحوسبة السحابية والبريد اﻹلكتروني، ولكنها طريقة غير فعالة ومُعرضة للأخطاء.
لهذا السبب صمم Git، ﻷجل عملية التطوير الموزعة Distributed، إذا كنت مشاركًا في مشروع ما
تقوم باستنساخ clone مستودع المشروع repository، ومن ثم العمل عليه كما لو أنه كان النسخة الوحيدة
ثم ومع بعض اﻷوامر البسيطة يمكنك سحب pull أي تغييرات من المساهمين اﻵخرين،
ويمكنك أيضًا دفع push تغييراتك إلى المساهمين اﻵخرين.
بناءً على ما سبق، لن يحصل أي لبس في عملية التطوير ولا فيما لديكم من إصدارات مختلفة.
Git interfaces
في الحالة الطبيعية Git هو أحد التطبيقات التي تعمل على نظام لينكس، وهو مجاني ومفتوح المصدر
وهنالك العديد من الطرق للوصول والتعامل مع Git
نُسميها بالـ interfaces أو الواجهات أو الوسيط المؤدي إلى التعامل مع Git :
و لعل أكثر الوسطاء شهرة في التعامل مع git هي الـ web-based interfaces أو ما تدعى مواقع اﻹنترنت التي تعتمد git مثل GitHub وGitLab, Savannah, BitBucket, SourceForge
What is Git
كما يمكن التعامل مع Git من خلال file mangers أو متصفحات الملفات مثل Dolphin المتوفر على واجهة KDE
للمزيد حول الواجهات، من هنا
What is Git
وقد يأتي على صيغة file-sharing interface مثل Sparkleshare
Sparkleshare
- المبادئ اﻷساسية
What is Git
  • تدعى المساهمات التي يدرجها المطور إيداعًا commit ولكل إيداع رقم فريد يميزه عن غيره
  • يخزّن git قائمة اﻹيداعات والتعديلات فيما يعرف بالمستودع Repository، ذلك المستودع على اﻷغلب يكون مجلدًا يدعى git يتم إنشاؤه داخل المجلد الرئيس للمشروع، وفيه تُخزن التعديلات التي تقوم بها
  • توجد عدة طرق للتعامل مع git سواءً من سطر اﻷوامر أو من الواجهات التي تم ذكرها فى الاعلى
  • يمتلك git مفهوم الفروع المتوازية branches، هذا يعني أن المطور يشتق فرعًا branch من الفرع الرئيسي master branch، أو حتى يشتق عددًا من الفروع branches، ويضيف عددًا من الإيداعات على تلك الفروع التي تم اشتقاقها من الفرع الرئيسي بحيث تكون في معزل عنه، وعن بعضها.
  • بعد الانتهاء من العمل على الفروع المُشتقة، نذهب إلى دمج الفروع نحو الفرع الرئيسي Branches merging، بعد أن أصبحت تلك الفروع جاهزة للاندماج بعدما أضيفت التعديلات اللازمة.
  • يستخدم git العديد من الخوارزميات أو الطرق في دمج الفروع بما فيها fast forward و3-Way.
  • يمتلك git العديد من اﻷساليب لحل التعارضات في الدمج، والتراجع عن مجموعة من التعديلات.
  • يمتلك git سجلًا لعرض تفاصيل الإيداعات عوضًا عن اسم المؤلف وتاريخ اﻹيداع، مع إمكانية تخصيص طرق عرض تلك التفاصيل ...
  • هذا كله غيّض من فيّض؛ يمكنك مراجعة هذا الكتيب الجميل والذي لا يزيد عن 84 صفحة والذي يشرح لك ما تريد معرفته وكيفية التعامل مع git .. حمل الكتاب من هنا
  • المصدر
Loading...
مشاركة :

قم بكتابة تعليق :