Git: دمج الفرع في Master

إجابة سريعة - دمج الفرع في Master

إذا كنت تبحث عن إجابة سريعة ، لدمج فرع في ملف master فرع - أنت checkout master و merge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

انت دائما checkout الفرع الذي تدمج فيه ، و merge فرع لديه تغييرات بالفعل.

فهم دمج الفرع مع Git

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

ملحوظة: في عام 2020 ، تبنت Git (جنبًا إلى جنب مع منصات استضافة المستودعات الرئيسية مثل GitHub و GitLab وما إلى ذلك) تغييرًا في المصطلحات الرسمية ، وتم تغيير اسم الفرع الافتراضي إلى main، بسبب الدلالات السلبية للكلمة master قد يستتبع. لم يتم ترحيل العديد من المشاريع أو إعادة تسمية فروعها الرئيسية ، لذلك في المستقبل المنظور - الشروط master و main من المحتمل أن يتم استخدامها بالتبادل.

إحدى أقوى ميزات Git هي القدرة على إنشاء ودمج الفروع والتغييرات في قاعدة الرموز بسهولة.

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

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

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

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

تسمى هذه الفروع المميزة.

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

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

دمج الفرع في فرع آخر مع Git

git branch يتم استخدام الأمر لسرد جميع الفروع الموجودة في المستودع. ستظهر علامة النجمة بجوار الفرع النشط حاليًا:

$ git branch
* master

لإنشاء فرع جديد ، يمكننا استخدام git branch new-branch يأمر. سيؤدي هذا إلى إنشاء فرع جديد يعكس الالتزامات على الفرع النشط حاليًا:

$ git branch new-branch
$ git branch
* master
new-branch

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

في هذه المرحلة ، أنشأنا فرعًا جديدًا ، لكننا ما زلنا موجودًا في الفرع المصدر. لبدء العمل على الفرع الجديد ، نحتاج أولاً إلى تشغيل الأمر git checkout new-branch. سيؤدي هذا إلى تغيير الفرع النشط إلى الفرع الجديد:

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

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

أولا نركض git checkout master لتغيير الفرع النشط مرة أخرى إلى master فرع. ثم نقوم بتشغيل الأمر git merge new-branch إلى دمج الميزة الجديدة في المعلم فرع شجرة.

ملحوظة: git merge يدمج الفرع المحدد في الفرع النشط حاليًا. لذلك نحن بحاجة إلى أن نكون في الفرع الذي نحن عليه الاندماج في.

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

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

تحقق من دليلنا العملي العملي لتعلم Git ، مع أفضل الممارسات ، والمعايير المقبولة في الصناعة ، وورقة الغش المضمنة. توقف عن أوامر Googling Git وفي الواقع تعلم ذلك!

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

للتلخيص ، إليك أوامر إنشاء فرع جديد ، وإجراء بعض الالتزامات ، ودمجه مرة أخرى في شكل رئيسي:

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

عن المؤلف

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

الطابع الزمني:

اكثر من ستاكابوز