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

الدمج شائع في Git ويستخدم لنقل التغييرات من شبكة إلى أخرى. Git Merge هو أمر يخبرك بإجراء تغييرات في مكان آخر. وهذا يسمح للمبرمجين بالحصول على خطوط مستقلة مستقلة أنشأها فرع Git ودمجها في شبكة واحدة. يؤدي هذا إلى تغيير الفرع الهدف فقط ، ولكن يتم حفظ محفوظات الفرع المصدر فقط. Git rebase هو أمر آخر يُستخدم لنفس الغرض ، ولكنه يتصرف بشكل مختلف. كلاهما يفعل نفس الشيء - ينتقلان من فرع إلى آخر - لكن الفرق يكمن في كيفية القيام بذلك. نسلط الضوء على العديد من الاختلافات المهمة التي تقارن بين الاثنين.

ما هو توحيد Git؟

Git Consolidation هو أمر يجمع بين فرعين تاريخيين أو أكثر. غالبًا ما يدمج التوحيد فرعين ، على الرغم من أن Git يدعم دمج ثلاثة أو أربعة فروع أو أكثر في نفس الوقت. يستخدم تكامل Git pull بواسطة Git pull لإجراء تغييرات على فرع واحد أو آخر. يجب أن يكون الاندماج في نفس المستودع ، مما يعني أن جميع الفروع المراد دمجها يجب أن تكون في نفس المستودع. عادةً ما تحدث حالات الدمج نتيجة محاولة اثنين أو أكثر من المستخدمين تحديث التعليمات البرمجية المشتركة الخاصة بهم. عادة ، يقوم المستخدم بدمج الفرع مع فرع آخر في المستودع المحلي في البيئة المحلية. يجمع Git Consolidation بين محتوى الفرع المصدر والفرع الهدف بشكل منفصل. تم تعديل الفرع الوجهة ويبقى الفرع المصدر.

ما هو Git Rebase؟

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

الفرق بين Git Rebase و Consolidation



  1. Git Rebase وأساسيات التوحيد

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



  1. Git Rebase ودمج الأداء

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



  1. هدف Git Rebase و Consolidation

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



  1. Git Rebase وتاريخ الاندماج

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

ريباس والمزيد. الاندماج: جدول المقارنة

في ما يلي ملخص لـ Git Rebase والمزيد. دمج

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

المراجع

  • حقوق الصورة: https://commons.wikimedia.org/wiki/File:Mergevsrebase.png
  • حقوق الصورة: https://www.flickr.com/photos/appleboy/5488984566
  • ناربسكي ، يعقوب. إتقان بوابة. برمنغهام: Packt Publishing ، 2016. طباعة
  • لويليجر ، جون وماثيو ماكولو. إدارة الإصدار مع Git. سيباستوبول ، كاليفورنيا: O'Reilly Media ، 2012. طباعة
  • ليستر ، برنت. بوابة المهنية. هوبوكين ، نيو جيرسي: جون وايلي وأولاده ، 2016. طباعة
  • سيلفرمان ، دليل جيب ريتشارد إي جيت: مقدمة عاملة. سيباستوبول ، كاليفورنيا: O'Reilly Media ، 2013. طباعة