تخطَّ إلى المحتوى

Command Line Mastery for Professionals

· 12 min read · default
command-lineclitoolsreferencegitversion-controlprofessional-referencecommand-line-tools
  • الوقت المتجدد: 13:37 | Difficulty: Beginner : Target: Technical Professionals*

مقدمة

وتشكل شركة Git حجر الزاوية في تطوير البرمجيات الحديثة، وتثبيت كيفية تعاون المطورين، وتعقّب التغييرات، وإدارة الشفرة في جميع المشاريع. (جيت) قام بتحويل مسارات عمل تطوير البرمجيات بشكل أساسي، مما يمكّن الأفرقة من العمل بكفاءة عبر الحدود الجغرافية مع الحفاظ على تاريخ المشروع الكامل وتيسير التعاون اللامع.

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

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

The evolution of Git from a tool created by Linus Torvalds for Linux kernel development to the universal standard for version control reflects its robust structure and powerful feature set. فهم الطبيعة الموزعة لـ (جيت) و نهجه تجاه سلامة البيانات و دعمه المرن لتدفق العمل يمكّن المطورين من الاستفادة من كامل إمكاناتهم

الهندسة المعمارية والمفاهيم الأساسية

هيكل (جيت) الموزع يميزه بشكل أساسي من نظم التحكم بالنسخ المركزية، يزود كل مطور بنسخة كاملة من تاريخ المشروع، This distributed model eliminates single points of failure while providing unprecedented flexibility in how teams structure their development processes.

ويشكل نموذج " غيت " الأساس لنزاهة البيانات وخصائص الأداء الخاصة به. ويتم التحقق من كل جزء من البيانات في غيت باستخدام هتنغ SHA-1، بما يكفل الكشف فورا عن أي فساد أو تغييرات غير مأذون بها. ويوفر هذا النهج البدائي لسلامة البيانات الثقة في دقة تاريخ المشروع ويتيح التعاون الموثوق به عبر الأفرقة الموزعة.

تركيبة (غيت) الثلاثية الأبعاد مكونة من دليل العمل، منطقة التلقيم، والمستودعات توفر السيطرة الدقيقة على إدارة التغيير. This model enables developers to craft precise commits that represent logical units of work, facilitating better code review processes and more maintainable project histories. ويعتبر فهم كيفية تأثير تدفقات البيانات بين هذه المجالات الثلاثة أمراً حاسماً في الاستخدام الفعال للغات.

ويمثل الفرع في غيت واحدا من أقوى سماته، التي تنفذ كمؤشرات للوزن الخفيف بالنسبة للالتزامات المحددة بدلا من نسخ دليلية. ويمكِّن هذا النهج من إنشاء فروع على الفور وتغييرها، وتشجيع التطوير التجريبي والعمل الموازي دون فرض عقوبات على الأداء. ويدعم نموذج الفرع سير العمل المتطورة التي يمكن أن تتكيف مع مختلف هياكل الأفرقة واحتياجات المشاريع.

الاتحاد والإنشاء

Proper وترسي تشكيلة الهدايا الأساس لتدفقات العمل الفعالة لمراقبة النسخ وضمان السلوك المتسق في مختلف البيئات وأعضاء الأفرقة. وتشمل التشكيلة الأولية تحديد هوية المستخدمين، وتحديد السلوكيات الافتراضية، وتشكيل التكامل مع الأدوات والخدمات الخارجية.

تحديد هوية المستعمل من خلال git config --global user.name_________________ وتتسم هذه التشكيلة بأهمية حاسمة بالنسبة للمساءلة والتعاون والتكامل مع منابر استضافة مثل جيت هوب وجيت لاب وبيتبوكيت. ويكفل تشكيل الهوية المتماسك بين أعضاء الفريق إسنادا واضحا وييسر التعاون الفعال.

تشكيلة المحررين من خلال _ استخدامات جيت للتكليف بالرسائل، إعادة تنظيم تفاعلية، سيناريوهات مدخلات النص الأخرى. تشكيلة المحرّر المناسبة تُحسّنُ تجربة كتابة رسالةِ الإلزامِ ويُمكّنُ مِنْ الإستفادة الفعالة مِنْ المواصفات التفاعليةِ جيت. وتشمل الخيارات الشعبية الفيم، والنانو، ومدونة VS، والنص الفرعي، التي يوفر كل منها مزايا مختلفة لتدفقات العمل الجيت.

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

وتتيح تشكيلة الياس من خلال git config --global alias إنشاء طرق مختصرة للتكرار في استخدام مزيج القيادة. ويمكن أن تؤدي الأسماء المستعارة تصميما جيدا إلى تحسين الإنتاجية بدرجة كبيرة عن طريق الحد من الطباعة وجعل العمليات المعقدة أكثر سهولة. وتشمل الأسماء المستعارة المشتركة تقصيراً في عمليات التحقق من الوضع، وفحص السجلات، وإدارة الفروع.

العمليات الأساسية

الاستيلاء على المستودعات والإستنساخ

ويمثل إنشاء المستودعات نقطة انطلاق لأي مشروع يديره نظام " غيت " ، مع نهجين رئيسيين هما: استهلال مستودع جديد أو استنساخ قائم. القيادة تُحوّل أي دليل إلى مستودع جيت، مُنشئاً هيكل الدليل الّذي يُخزن جميع البيانات الوصفية لمراقبة النسخ.

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

Remote repository formation through _CODE_BLOCK_8 commands establishes connections between local and remote repositories. ويتيح فهم الإدارة عن بعد تدفق العمل المتطور الذي ينطوي على مستودعات متعددة، مثل التنمية القائمة على الشوك، والتزامن في المراحل الأولى، واستراتيجيات النشر المتعددة البيئة. فالتشكيل السليم عن بعد ييسر التعاون والتشغيل الآلي غير المستقرين.

عمليات تدفق العمل الأساسية

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

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

فالتغيير الذي يتم إدخاله من خلال _CODE_BLOCK_10 يوفر رقابة دقيقة على التعديلات المدرجة في الالتزام التالي. ويمكِّن مجال التدريب المطورين من القيام بصياغة التزام منطقي يمثل وحدات عمل متماسكة، حتى عندما تحدث تغييرات متعددة غير متصلة في دليل العمل. وتشمل التقنيات المتقدمة للتعبئة الجزئية للملفات والتحفيز التفاعلي للدقة القصوى.

سجلاّت بشكل دائم تغيرات في تاريخ المستودع وتشمل ممارسات الالتزام الفعّالة كتابة رسائل خطية واضحة تشرح الغرض من التغييرات وسياقها. ويمكن لاتفاقيات ونماذج الرسائل الاصطناعية توحيد الاتصالات الجماعية وتيسير التجهيز الآلي لتاريخ الالتزام.

فرع الإدارة

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

إنشاء الفرع من خلال _CODE_BLOCK_12 أو _CODE_BLOCK_13 وتنظر استراتيجيات التفرع الفعالة في عوامل من قبيل النطاق الخاص، وحجم الأفرقة، ودورات الإطلاق، وتعقيد التكامل. وتشمل نماذج الفرع الشعبي جيت فلو، وجيت هوب فلو، وجيت لاب فلو، وكلها تُستخدم على النحو الأمثل في سيناريوهات إنمائية مختلفة.

الفرع الذي ينتقل من خلال _CODE_BLOCK_14 أو الجديد BAR فهم السلوك الذي يبدله الفرع، بما في ذلك كيفية تعامل (جيت) مع التغيرات والنزاعات غير الملتزم بها، ويمنع فقدان البيانات وتعطل سير العمل.

ويدمج الفرع في فرع آخر، يجمع بين العمل الإنمائي وحل أي نزاع ينشأ. وتشتمل الاستراتيجيات الكبيرة على دمج سريع في التاريخ الخطي، كما أن الدمج يلتزم بالحفاظ على سياق الفرع. ويمكِّن فهم متى يستخدم كل نهج من إدارة تاريخ المشروع على النحو الأمثل.

العمليات المتقدمة

إدارة القاعدة والتاريخ

وتمثل قاعدة Git rebase واحدة من أقوى الأدوات للحفاظ على تاريخ المشروع النظيف الخطي مع الحفاظ على التدفق المنطقي للعمل الإنمائي. وخلافاً للدمج، الذي يخلق ترابطاً صريحاً، فإن إعادة الكتابة تُلزم التاريخ بخلق ظهور التطور الخطي.

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

تتطلّب إعادة تنظيم سير العمل النظر بعناية في الآثار المترتبة على التعاون، لأن إعادة كتابة التاريخ المنشور يمكن أن تعطل عمل المطورين الآخرين. وتشمل أفضل الممارسات الحد من العودة إلى الفروع المحلية، وإبلاغ عمليات القاعدة إلى أعضاء الأفرقة، واستخدام عمليات القوة والدفع بحكمة عند تحديث الفروع النائية.

تسوية المنازعات

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

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

ويوفر التكامل الكبير بين الأدوات من خلال __CODE_BLOCK_18-- وصلات بيانية لحل النزاعات، ويوفر عروضا بصرية للصراعات، وتدفقات عمل مبسطة لحل النزاعات. أدوات الدمج الشعبية تشمل ما بعد كومبر، KDiff3، و VS المحرر المدمج، كل عرض نُهج مختلفة لتصوير النزاعات وحلها.

استراتيجيات الفرع المتقدمة

وغالباً ما تتطلب بيئات تنمية المشاريع استراتيجيات تفرعية متطورة تدعم مسارات إطلاق متعددة، وإجراءات للتثبيت الساخن، وتبرز تدفقات العمل الإنمائي. ويمكِّن فهم هذه الأنماط الأفرقة من تنفيذ استراتيجيات لمراقبة النسخ تتماشى مع عملياتها الإنمائية وعمليات نشرها.

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

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

عمليات التعاون والبعثة

إدارة المستودعات عن بعد

التعاون الفعال من خلال ويتطلب نظام " غيت " فهم عمليات المستودع عن بعد ومختلف البروتوكولات وأساليب التوثيق المتاحة للاتصال الآمن والفعال بالمستودعات النائية.

Remote formation through git remote add_ establishes named connections to remote repositories, enabling simple reference to complex URLs. وتقوم عدة أجهزة نائية بدعم سير العمل المتطورة التي تشمل مستودعات أعلى المجرى، والشوك الشخصية، وأهداف النشر. ويؤدي فهم اتفاقيات التسمية عن بُعد وصيغ الاتحاد الثوري إلى تيسير أنماط التعاون الفعالة.

القيام بعمليات من خلال _CODE_BLOCK_20 استرجاع آخر المستجدات من المستودعات النائية دون تعديل الفروع المحلية، مما يمكّن المطورين من استعراض التغييرات قبل الإدماج. ويوفر هذا النهج السلامة والتحكم في الوقت الذي تدمج فيه التغييرات النائية في العمل المحلي، مما يحول دون حدوث اختلالات غير متوقعة في سير العمل الإنمائي.

عمليات الدفع من خلال _CODE_BLOCK_21 تحميل التغييرات المحلية على المستودعات النائية، وتقاسم العمل مع أعضاء الأفرقة، وبدء العمليات الآلية مثل بناء التكامل المستمر ونشره. ويضمن فهم سلوك الدفع، بما في ذلك الآثار المترتبة على القوة والدفع والعلاقات مع تعقب الفروع، التعاون الموثوق به.

سحب الطلبات وفحص سجلات العمل

Modern وتوفر برامج استضافة الهدايا آليات متطورة لاستعراض الشفرة من خلال طلبات السحب (GitHub) أو طلبات الدمج (GitLab)، مما يتيح مراقبة الجودة وتبادل المعارف بصورة منهجية داخل الأفرقة الإنمائية.

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

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

الأداء والتعظيم

صيانة المستودعات

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

جمع القمامة من خلال _CODE_BLOCK_22 يزيل الأجسام غير المُحال إليها ويُخزّن مستودعاً أمثل. وعادة ما تجري هذه العملية تلقائياً، ولكن يمكن أن تُطلق يدوياً أثناء نوافذ الصيانة أو بعد عمليات إيداع هامة مثل عمليات الدمج الكبيرة أو إعادة كتابة التاريخ.

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

إدارة الملفات الكبيرة

وتتطلب المشاريع التي تنطوي على ملفات ثنائية كبيرة أو على أصول إعلامية واسعة إيلاء اعتبار خاص للحفاظ على الأداء الجيت وقابلية إدارة المستودعات. وتوفر شركة Git LFS (Large File Storage) حلا لإدارة الملفات الكبيرة دون المساس بأداء مستودع.

وتشمل تشكيلة البيانات المالية المحلية تحديد أنواع أو أنماط الملفات التي ينبغي تخزينها خارجياً ووضع قواعد مناسبة للتتبع. هذا النهج يحتفظ بخصائص أداء (جيت) بينما يوفر التحكم بالنسخة للموجودات الكبيرة

الأمن وأفضل الممارسات

إدارة الأدلة

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

SSH key authentication provides secure, passwordless access to remote repositories while enabling fine-grained access control. وتشمل الإدارة الرئيسية لدائرة الصحة المستدامة التناوب الرئيسي المنتظم، والحماية الرئيسية المناسبة، وفهم تدفقات العمل الرئيسية للتوثيق.

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

الإشارة

والتوقيع من خلال GPG يوفر التحقق المبكِّر من الصلاحية للاحتجاز، بما يكفل أن يكون هذا الالتزام ناشئاً فعلاً من أصحاب البلاغ المزعومين. ويتزايد أهمية هذا التدبير الأمني في البيئات الأمنية العالية والمشاريع المفتوحة المصدر التي يتسم فيها التحقق من الثقة بأهمية حاسمة.

وتشمل تشكيلة التوقيع توليد مفاتيح GPG، وتشكيل جيب كي تستخدمها للتوقيع، وإنشاء سير عمل للتحقق تحقق من التوقيعات أثناء عمليات التعاون. ويتيح فهم النظام الإيكولوجي للتوقيع تنفيذ التحقق الشامل من صحة المدونة.

التشويش والانتعاش

القضايا المشتركة والحلول

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

وتحدث حالات مفصَّلة عن سداسي البروم ثنائي الفينيل عند التحقق من حالات ارتكاب محددة بدلاً من الفروع، مما ينشئ حالة مؤقتة تتطلب معالجة دقيقة للحفاظ على العمل. ويحول فهم كيفية التعافي من حالات سداسي البروم ثنائي الفينيل المعزولة وعندما تكون مفيدة دون الخلط وفقدان البيانات.

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

استرداد البيانات

هيكل (غيت) القوي يوفر آليات متعددة لاسترداد العمل المفقود حتى في السيناريوهات التي يبدو فيها أن الالتزام قد تم حذفه أو الكتابة عليه ويوفر فهم تقنيات الإنعاش الثقة عند القيام بعمليات تدميرية محتملة.

ويوفر فحص التلويث من خلال git reflog تاريخاً كاملاً من تحركات البيوتادايين السداسي الكلور، مما يمكّن من استرداد الموجودات التي لم تعد قابلة للوصول إليها من خلال الإشارات الفرعية العادية. وتعمل هذه الآلية كشبكة أمان لمعظم عمليات شركة Git.

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

خاتمة

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

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

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

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


المراجع

[1] [Git Official Documentation] (Link 5) [2] [Pro Git Book] (Link 6) [3] Atlassian Git Tutorials [4] GitHub Git Guides [5] [Git Best Practices Guide](Link 9)