أساسيات Git دمج وحذف الفروع

Basics Git Merging



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

العمل مع الدمج والحذف الفرعي

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







$مكديرmygame
$قرص مضغوطmygame
$بوابة الحرف الأول
$رما - طرد - قذف قرار التصميم 1: Brainstarm >>design.txt
$إضافة بوابة -إلى
$بوابة الالتزام م C0: بدء المشروع
$رما - طرد - قذف قرار التصميم 2: اكتب كود >>design.txt
$إضافة بوابة -إلى
$بوابة الالتزام م 'C1: التعليمات البرمجية المرسلة'
$فرع بوابةالميزات
$بوابة الخروجالميزات
$رما - طرد - قذف 'إضافة ميزة 1' >>feature.txt
$إضافة بوابة -إلى
$بوابة الالتزام م 'C2: الميزة 1'
$رما - طرد - قذف 'إضافة ميزة 2' >>feature.txt
$إضافة بوابة -إلى
$بوابة الالتزام م 'C3: الميزة 2'
$بوابة الخروجرئيسي - سيد
$رما - طرد - قذف 'تعديل الماجستير مرة أخرى' >>design.txt
$إضافة بوابة -إلى
$بوابة الالتزام م 'C4: ماجستير معدل'

خلقت الأوامر المذكورة أعلاه الموقف التالي:





يمكنك التحقق من تاريخ الفرعين لمعرفة الالتزامات التي لديهم:





$حالة بوابة
على رئيس الفرع
لا شيء للالتزام ، دليل العمل نظيف
$سجل بوابة --خط واحد
2031b83 C4: تم تعديله بشكل رئيسي
1c0b64c C1: كود مقدم

$بوابة الخروجالميزات
تحولت إلى فرع'الميزات'

$سجل بوابة --خط واحد
93d220b C3: الميزة2
ad6ddb9 C2: الميزة1
1c0b64c C1: كود مقدم
ec0fb48 C0: تم بدء المشروع

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

$بوابة الخروجرئيسي - سيد
تحولت إلى فرع'رئيسي - سيد'

$حالة بوابة
على رئيس الفرع
لا شيء للالتزام ، دليل العمل نظيف

الآن دعونا ننشئ الدمج:



$دمج بوابةالميزات

إذا لم تكن هناك أي تعارضات في الدمج ، فسيتم فتح محرر نص بالتعليقات:

فرع الدمج'الميزات'

# الرجاء إدخال رسالة الالتزام لتوضيح سبب ضرورة هذا الدمج ،
# خاصةً إذا كان يدمج تحديثًا أوليًا محدثًا في فرع موضوع.
#
# سيتم تجاهل السطور التي تبدأ بـ '#' وإلغاء الرسالة الفارغة
# الالتزام.

يمكنك تعديل التعليقات أو قبول التعليقات الافتراضية. يجب أن يظهر ناتج الدمج مثل هذا:

الدمج الذي تم بواسطة'العودية'إستراتيجية.
feature.txt| 2++
1 ملفتغير،2الإدخالات(+)
وضع الإنشاء100644feature.txt

بعد الدمج ، يكون لديك الشرط التالي:

إذا قمت بفحص السجلات ، ستجد:

$حالة بوابة
على رئيس الفرع
لا شيء للالتزام ، دليل العمل نظيف

$سجل بوابة --خط واحد
46539a3 C5: دمج الفرع'الميزات'
2031b83 C4: تم تعديله بشكل رئيسي
93d220b C3: الميزة2
ad6ddb9 C2: الميزة1
1c0b64c C1: كود مقدم
ec0fb48 C0: تم بدء المشروع

لقد نجحت في دمج التغييرات. ومع ذلك ، لا يزال فرع الميزة موجودًا.

$فرع بوابة -إلى
الميزات
*رئيسي - سيد

يمكنك حذفه بالأمر التالي:

$فرع بوابة الميزات

إذا قمت بالتحقق الآن ، يجب أن ترى الفرع الرئيسي فقط:

$فرع بوابة -إلى
*رئيسي - سيد

استنتاج

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

قراءة متعمقة: