fbpx

ما هو Git؟

Git هو برنامج مجاني ومفتوح المصدر للتحكم في الإصدار الموزع: تتبع التغييرات في أي مجموعة من الملفات ، وعادة ما تستخدم لتنسيق العمل بين المبرمجين بشكل تعاوني لتطوير التعليمات البرمجية المصدر أثناء تطوير البرنامج.

لماذا تستخدم Git؟

منذ تطوير وإصدار Git، اكتسب شعبية كبيرة بين المطورين وكونه مفتوح المصدر قد دمج العديد من الميزات.

اليوم، يستخدم Git لعدد مذهل من المشاريع للتحكم في الإصدار، سواء التجاري أو الشخصي.

دعونا نرى لماذا أصبح Git شائعة جدا من خلال مناقشة ميزاتها الرئيسية

  • الأداء: يوفر Git أفضل أداء عندما يتعلق الأمر بأنظمة التحكم في الإصدار.

يتم تحسين الالتزام والتفريع والدمج جميعا للحصول على أداء أفضل من الأنظمة الأخرى.

  • الأمان: يتعامل Git مع أمانك باستخدام طريقة التشفير SHA-1.

تدير الخوارزمية إصداراتك وملفاتك ودليلك بشكل آمن حتى لا يتلف عملك.

  • نموذج التفرع: يحتوي Git على نموذج تفريع مختلف عن VCS.

يتيح لك نموذج تفرع Git الحصول على فروع محلية متعددة مستقلة عن بعضها البعض.

يتيح لك وجود هذا أيضا تبديل السياق بدون احتكاك (التبديل ذهابا وإيابا إلى الالتزام الجديد والرمز والعودة)، والتعليمات البرمجية المستندة إلى الدور (فرع يذهب دائما إلى الإنتاج، وآخر إلى الاختبار وما إلى ذلك) والتجريب القابل للتصرف. 

  • منطقة التدريج: يحتوي Git على مرحلة وسيطة تسمى “index” أو ” staging area” حيث يمكن تنسيق الالتزامات وتعديلها قبل إكمال الالتزام.
  • الموزعة: يتم توزيع Git بشكل طبيعي.

التوزيع يعني أن المستودع أو قاعدة التعليمات البرمجية الكاملة تنعكس على نظام المطور حتى يتمكن من العمل عليه فقط.

  • المصدر المفتوح: هذه ميزة مهمة جدا لأي برنامج موجود اليوم.

كونه مفتوح المصدر يدعو المطورين من جميع أنحاء العالم للمساهمة في البرنامج وجعله أكثر قوة من خلال الميزات والمكونات الإضافية.

وقد أدى ذلك إلى أن تكون نواة Linux برنامجا يحتوي على حوالي 15 مليون سطر من التعليمات البرمجية.

كيفية البدء باستخدام Git

Terminal vs GUI

يمكنك إما استخدام Git عن طريق كتابة الأوامر في terminal أو يمكنك استخدام GUI مثل Sourcetree أو GitKraken.

إذا اخترت terminal، فسيتعين عليك البحث عن أوامر Git التي ستحتاج إليها.

بخلاف بعض من الأوامر التي ستستخدمها في أغلب الأحيان، يمكنك البحث عن الباقي إذا احتجت إليها (وهذا ما يفعله معظم المطورين، حتى أولئك الذين لديهم خبرة طويلة في).

يقدم Git وثائق متعمقة على موقعها.

إذا اخترت استخدام GUI، عرض الإجراءات المختلفة التي تحتاج إلى اتخاذها بطريقة أكثر وضوحا.

سواء اخترت استخدام terminal أو GUI، فستحتاج إلى فهم أساسيات كيفية عمل Git لاستخدامها بثقة.

بالنسبة لبقية هذه المقالة، سنشارك أمثلة باستخدام Git في المحطة.

لكن الخطوات التي نشاركها متشابهة جدا إذا كنت تستخدم GUI.

كيفية إعداد مجلد المشروع في Git

لاستخدام Git، نحتاج إلى أن يكون لدينا مشروع نريد التحكم في إصداره.

يمكن أن يكون هذا إما مشروعا جديدا أو مشروعا قائما.

إذا كان مشروعا جديدا، فنحن بحاجة إلى إنشاء مجلد مشروع جديد (تلميح: يمكننا استخدام الأمر mkdir) ثم الانتقال إلى مجلد المشروع هذا في المحطة الطرفية.

إذا اخترنا مشروعا موجودا، فسنقوم ببساطة بالانتقال إلى مجلد المشروع هذا في المحطة الطرفية.

الأداء

خصائص الأداء الخام ل Git قوية جدا عند مقارنتها بالعديد من البدائل.

يتم تحسين إجراء تغييرات جديدة وتفريع ودمج ومقارنة الإصدارات السابقة من أجل الأداء.

تستفيد الخوارزميات المنفذة داخل Git من المعرفة العميقة حول السمات الشائعة لأشجار ملفات التعليمات البرمجية المصدر الحقيقية، وكيف يتم تعديلها عادة بمرور الوقت وما هي أنماط الوصول.

على عكس بعض برامج التحكم في الإصدار، لا ينخدع Git بأسماء الملفات عند تحديد ما يجب أن يكون عليه التخزين ومحفوظات الإصدارات للملفات الفرعية، بدلا من ذلك، يركز Git على محتوى الملف نفسه.

بعد كل شيء، غالبا ما تتم إعادة تسمية ملفات التعليمات البرمجية المصدر وتقسيمها وإعادة ترتيبها.

يستخدم تنسيق الكائن لملفات مستودع Git مجموعة من تشفير دلتا (تخزين اختلافات المحتوى) والضغط ويخزن بشكل صريح محتويات الدليل وكائنات بيانات التعريف للإصدار.

يُمكِّن التوزيع من فوائد الأداء الكبيرة أيضًا.

الأمان

تم تصميم Git مع سلامة شفرة المصدر المدارة كأولوية قصوى.

محتوى الملفات بالإضافة إلى العلاقات الحقيقية بين الملفات والدلائل والإصدارات والعلامات والالتزامات، يتم تأمين كل هذه الكائنات في مستودع Git باستخدام خوارزمية تجزئة آمنة تشفيري يسمى SHA-1.

هذا يحمي التعليمات البرمجية وسجل التغيير ضد كل من التغيير العرضي والضار ويضمن أن السجل يمكن تتبعه بالكامل.

باستخدام Git، يمكنك التأكد من أن لديك سجل محتوى أصلي لشفرة المصدر الخاصة بك.

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

يمكن أن تكون هذا ثغرة أمنية خطيرة في أمن المعلومات لأي مؤسسة تعتمد على تطوير البرمجيات.

المرونة

أحد أهداف التصميم الرئيسية ل Git هو المرونة.

 Git مرنة في عدة جوانب: في دعم أنواع مختلفة من سير عمل التطوير غير الخطي، في كفاءتها في كل من المشاريع الصغيرة والكبيرة وفي توافقها مع العديد من الأنظمة والبروتوكولات الحالية.

 تم تصميم Git لدعم التفريع ووضع العلامات (على عكس SVN) ويتم أيضا تخزين العمليات التي تؤثر على الفروع والعلامات (مثل الدمج أو الرجوع) كجزء من سجل التغييرات.

لا تتميز جميع أنظمة التحكم بهذا المستوى من التتبع.

كيفية إنشاء مستودع Git

بمجرد أن نكون في مجلد المشروع الخاص بنا، لبدء استخدام Git، سنحتاج إلى إنشاء (أو تهيئة) مستودع باستخدام الأمر Git init.

بمجرد تنفيذ الأمر عن طريق كتابته في المحطة الطرفية والضغط على Enter، سيبدو على الأرجح أنه لم يحدث الكثير.

ولكن لا تنخدع، يمكن أن يكون Git متسللا في بعض الأحيان وينفذ الكثير من الإجراءات وراء الكواليس.

لمعرفة ما فعله Git وراء الكواليس، سيتعين علينا عرض ملفاتنا المخفية.

تأكد من فتح مجلد المشروع في نظام الملفات الخاص بك.

بعد ذلك، إذا كنت تستخدم جهاز Mac، فيمكنك تحديد Command+Shift+Dot لرؤية الملفات المخفية في نظام الملفات الخاص بك.

إذا كنت تستخدم نظام تشغيل Windows، فيمكنك تغيير إعدادات العرض لعرض الملفات المخفية في نظام الملفات الخاص بك.

لعرض الملفات المخفية في المحطة الطرفية، يمكننا استخدام الأمر ls-a.

كيفية التعاون مع المطورين الآخرين باستخدام Git

إذا أراد مطور آخر التعاون معنا في مشروعنا، فيمكنه استنساخ (أو بعبارة أخرى تنزيل) المستودع البعيد من خدمة الاستضافة التي قمت بتحميلها على جهاز الحاسوب الخاص بهم.

هذا يسمح لهم بالحصول على المشروع على أجهزة الحاسوب الخاصة بهم أيضا.

ثم يشار إلى المشروع على جهاز الحاسوب الخاص بهم باسم مستودع محلي.

في مشروع مع مطورين متعددين، كل واحد لديه مستودع محلي على جهاز الحاسوب الخاص بهم.

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

Git vs GitHub

يوفر Git وظيفة التحكم في الإصدار الموزع.

يمكنك استخدام Git لإدارة جهود الترميز الخاصة بك على جهاز الحاسوب الخاص بك وحده، ولكنه يستخدم بشكل أكثر شيوعا لعدة أشخاص على أجهزة حاسوب متعددة يرغبون في التعاون.

في مثل هذه المشاريع، تعيش النسخة الأساسية من شفرة المصدر على خادم في مكان ما – مستودع مركزي في لغة Git – ويمكن للمستخدمين الفرديين تحميل التحديثات وتنزيلها من هذا المستودع.

 يتيح لك Git استخدام جهاز الحاسوب الخاص بك كمستودع مركزي للآخرين أو إعداد واحد في مكان آخر، ولكن هناك أيضا العديد من مزودي الخدمات الذين يقدمون خدمات استضافة Git التجارية.

GitHub، التي تأسست في عام 2008 واشترتها Microsoft في عام 2018، هي الأكثر بروزا إلى حد بعيد، حيث لا تقدم خدمات استضافة فحسب، بل مجموعة متنوعة من الميزات الأخرى.

الشيء المهم الذي يجب مراعاته في الوقت الحالي هو أنه على الرغم من أن GitHub مبني حول التطوير باستخدام Git، إلا أنك لست بحاجة إلى استخدام GitHub لاستخدام Git.

Git مع Windows

كما ذكرنا سابقا، تم تطوير Git في الأصل لتطوير Linux kernel، ويأخذ شكل سلسلة من الأدوات المساعدة لسطر الأوامر.

يعتمد هيكله وبناء جملة الأوامر إلى حد كبير على Unix، مما يعني أنه يعمل أصلا على أنظمة تشغيل تشبه Unix مثل Linux وmacOS.

يعد نقل Git إلى windows أكثر صعوبة قليلا، ويعتمد على Git bash، وهو محاكي Bourne shell لنظام التشغيل Windows مدمج في Git للنوافذ.

تكامل GUI و IDE

بالطبع، اعتاد العديد من مطوري Windows على GUI، وبالتالي يتضمن Git for Windows أيضا GUI.

لا ينبغي أن يشعر مستخدمو macOS و Linux بأنهم مهملون أيضا: فهناك الكثير من GUI التي يجب الالتفاف حولها.

توجد أيضًا GUI عبر الأنظمة الأساسية وتقدم العديد من الأجراس والصفارات.

يمكنك أيضا دمج Git في IDEs المفضلة لديك، بما في ذلك Eclipse و Microsoft Visual Studio.

استنتاج

بعد قرات هذه المقالة يمكن ان نقول انهو أصبح عندا مفهوم أحسن عن Git وعن كيفية استخدامه واستخدام مكوناته وكيف يمكن استخدامه من قبل أكثر من مطور في العمل على مشروع مشترك.

راسلنا