أفضل ممارسات Git - كيفية تحقيق أقصى استفادة منها
نشرت: 2019-07-02اسحب ، أحضر ، ألزم ، ادفع ، دمج ، إعادة تأسيس - هل تمكنت هذه المصطلحات من شق طريقها إلى حياتك اليومية حتى الآن؟ عندما ابتكر Linus Torvalds نسخته الأولى من Git ، وصفها بأنها "متتبع المحتوى الغبي". تقدم سريعًا إلى اليوم ، هذا البرنامج المجاني مفتوح المصدر هو الآن أكثر أنظمة التحكم في الإصدارات شيوعًا.
ما هو جيت؟
ألا تتمنى أن تعود بالزمن إلى الوراء في بعض الأحيان ، حتى تتمكن من اتخاذ قرار أفضل أو القيام بالأشياء بشكل مختلف؟ حسنًا ، في عالم التكنولوجيا والبرمجة ، يمكنك ذلك. Git هو نظام تحكم في الإصدار موزع مفتوح المصدر يحفظ إصدارات من التعليمات البرمجية الثمينة في كل مرة تقوم فيها بإجراء أي تغييرات / إضافات عليها. لذلك كلما احتجت إلى التراجع ، ما عليك سوى اختيار إصدار العمل وفويلا! يسمح Git أيضًا بالعمل بدون انقطاع داخل الفرق حيث يعمل المطورون على نسخهم المحلية الفردية في نفس الوقت. يتم تتبع كل تغيير من قبل كل عضو في الفريق ، وبالتالي الحفاظ على الشفافية في تدفق منظم. إذن ما هو جيثب إذن؟ GitHub هي خدمة استضافة مستودع لـ Git والتي تحتوي أيضًا على الكثير من الميزات لتحسين نظام التحكم في الإصدار الخاص بك.
سير عمل Git
كل مؤسسة لديها سير عمل Git مختلف. أنجح سير عمل Git هو الذي يمنح فريقك مساحة كافية للإنتاجية مع زيادة فعالية مخرجاتهم. يجب أن تكون قابلة للتطوير مع حجم فريقك ويجب أن تقلل من عدد التعارضات التي يمكن أن تنشأ. يعد سير عمل Git المركزي هو الأساس الذي يتم بناء عليه مهام سير عمل Git الأخرى ، مثل سير عمل تفريع الميزة ، وسير عمل التفرع ، وسير عمل Gitflow ، وما إلى ذلك. يجب تخطيط سير العمل لتعزيز ثقافة مؤسستك واستكمالها. لكل فريق ، سير عمل Git الخاص به.
لماذا تستخدم Git؟
1. العمارة الموزعة
على عكس أنظمة التحكم في الإصدار المركزية التي تجبر المطورين على الوصول إلى المستودع المركزي الفردي ليكونوا قادرين على "الخروج" وإدخال التغييرات على الملفات الفردية ، يتبع Git نهجًا موزعًا. في البنية الموزعة ، يمتلك كل مطور نسخًا محلية خاصة به من المستودع المركزي بأكمله ، مما يسمح لهم بالعمل دون اتصال بالإنترنت والوصول إلى سجل المراجعة الكامل والتفرع والدمج بسهولة.
2. أداء قوي
يعد التفرع والدمج والالتزام وما إلى ذلك أمرًا سهلاً وسريعًا حقًا باستخدام سير عمل Git بسبب خوارزميات المعرفة العميقة الذكية التي تفهم أنماط الوصول إلى T.
3. إنه آمن
يخزن Git جميع محتويات الملف بما في ذلك العلاقات بين الإصدارات والأدلة ، باستخدام تشفير SHA1 كخوارزمية علامة التجزئة الخاصة به. أي تغيير عرضي أو ضار في التعليمات البرمجية يمكن تتبعه بالكامل.
4. المصدر المفتوح
كونه مفتوح المصدر ، فإن Git مجاني ، ويتمتع بدعم جيد من المجتمع ، ويتم فحصه باستمرار للتأكد من جودته ومدعومًا بكمية كبيرة من الوثائق والبرامج التعليمية للمتعلمين.
5. إصدارات أسرع
يشجع التطوير الموزع لـ Git والتفرع السهل وإنشاء ميزات جديدة المطورين على إجراء تغييرات أكثر تكرارًا في سير عمل رشيق

جيت - العمارة الموزعة
أفضل الممارسات لـ Git
مشروع جديد؟ مستودع جديد
من المنطقي التنظيمي إنشاء إعادة شراء جديدة لكل مشروع جديد تريد بدء العمل عليه. بمجرد الانتهاء من ذلك ، ادفعه إلى GitHub.
ميزة جديدة؟ وسع نشاطاته
الآن بعد أن أنشأت مشروعًا جديدًا ، ماذا عن إنشاء بعض ميزات Git الجديدة؟ يتيح لك Git Branching إنشاء وإدارة سير عمل منظم داخل الريبو الخاص بك. يمكن تعيين فروع Git مختلفة لأعضاء الفريق مما يسمح لهم بالعمل بشكل متزامن ولكن بطريقة منعزلة. قم دائمًا بإعطاء معنى لفرع git الخاص بك حتى يعرف الآخرون ما تعمل عليه بالضبط.
ابدأ يومك بالبقاء على اطلاع
احرص دائمًا على "إعادة الأساسي" أو الحصول على أحدث إصدار من مشروعك (الرئيسي) قبل أن تبدأ العمل على الميزات التي قمت بإنشائها / تخصيصها لك. لا تريد إجراء تغييرات على الملفات القديمة.
احصل على نقاط تفتيش دورية
لا تحفظ التزاماتك لتغيير كبير. "التزم" بتغييرات صغيرة بشكل متكرر حتى يسهل فهم الشفرة لك ولأعضاء فريقك. العودة إلى الوراء والتتبع أسهل أيضًا عندما تكون التغييرات صغيرة ومتكررة.

خبئ عملك
في كثير من الأحيان ، قد تصادف مواقف تعمل فيها على فرع Git ولكنك تذكرت فجأة أنك بحاجة إلى عمل في فرع آخر ولكنك لا تريد "الالتزام" بهذه التغييرات نصف المنجزة. أو قد ترغب ببساطة في نسخة عمل نظيفة. "git stash" للإنقاذ. يتيح لك Stashing حفظ تغييراتك غير المكتملة على مكدس حيث يمكنك الرجوع إليها في أي وقت!
سحقهم يرتكب
إن وجود التزامات أقل في سجلك يجعل من السهل مراقبة وتتبع المكان الذي أخطأت فيه. إذا كنت تريد الاحتفاظ بسجل التزام نظيف ، فهذا يناسبك. اسكواش وادمج كل ما تبذلونه من التزامات في واحد عندما يتم دمج طلب السحب.
رسائل الالتزام
قدم دائمًا معلومات واضحة ومفهومة في رسالة الالتزام الخاصة بك. ابدأ بكتابة ملخص قصير لتغييراتك ، واترك سطرًا فارغًا ثم اتبعه بوصف تفصيلي للتغيير. لا تريد أن ينتهي سجل الالتزام الخاص بك بالشكل التالي: /

https://xkcd.com/1296/
لا تغير التاريخ
بمجرد الانتهاء من تنفيذ التغييرات الخاصة بك في المستودع ، لا تعود وتغير التاريخ. على الرغم من أن Git تتيح لك القيام بذلك وإعادة كتابة تاريخ العانة ، إلا أنها ليست ممارسة جيدة على الإطلاق. لكل من لك ولفريقك.
ضع رقعة Git
في الأوقات التي لا يكون لديك فيها حق الوصول للكتابة إلى المستودع ولكنك لا تزال ترغب في إصلاح الخلل - قم بتطبيق تصحيح Git. تذكر دائمًا استنساخ المستودع الرئيسي ثم إنشاء فرع للميزة الجديدة. عندما يكون لديك ملف .patch جاهزًا ، قم دائمًا بمعاينته وقم بإجراء تشغيل جاف للتحقق من الأخطاء. قم بتطبيق التصحيح (git application -R path / file.patch) بمجرد الانتهاء. لا تنس أن تختبر وتحقق
لا تترك طلبات السحب لفترة طويلة
يمكن أن يؤدي طلب "السحب" المفتوح إلى حدوث تعارضات عاجلاً أم آجلاً. لا تتركهم دون رقابة لأكثر من يومين. قم دائمًا بمراجعة الكود وإذا كان لا بأس من النشر ، فقم بدمج طلب السحب. لن يؤدي ذلك إلى ربط عملية الشحن فحسب ، بل سيؤدي أيضًا إلى تجنب تعارض التعليمات البرمجية.
تنظيم أفضل باستخدام أدوات إدارة المشاريع
إذا كنت تستخدم أدوات إدارة المشاريع مثل Redmine ، فمن الجيد استخدامها مع Git لتتمكن من إدارة العديد من أعضاء الفريق ومهامهم بشكل أفضل. يعد إنشاء فروع Git الخاصة بك باستخدام مهمة Redmine حيث أن الاسم هو أحد أفضل ممارسات Git لأنه يتيح شفافية وتنظيم أفضل.

تم إنشاء المهمة في Redmine

إنشاء فرع بمعرف المهمة واسمها
GitLab CI / CD
يتيح لك استخدام أداة التكامل المستمر / النشر المستمر مثل هذه الأداة اختبار الأخطاء والأخطاء والتحقق منها وتضمن التوافق مع معايير الكود. يتم تنفيذ هذه الوظائف بعد دفع الكود إلى خادم الترحيل.

قائمة وظائف GitLab CI / CD
