الفروع والجراحة

الدمج وإعادة الأساس

من الشريط الجانبي

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

اسحب مرجعًا فوق آخر

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

سحب فرع فوق آخر يفتح قائمة بما قد يعنيه الإفلات

وهي تعمل في كلا الموضعين اللذين تُعرض فيهما المراجع — صفوف الفروع والمستودعات البعيدة والوسوم في الشريط الجانبي، وشارات المراجع الملوّنة في الرسم البياني نفسه. اسحب بينهما بأي تركيبة؛ ويُبرَز هدف الإفلات وأنت تمرّ فوقه.

الإفلات يعني
دمج {source} ← {target} يسحب الهدف ويدمج المصدر فيه
إعادة أساس {source} فوق {target} يعيد تشغيل التزامات المصدر فوق الهدف
مقارنة يفتح المقارنة — ولا يغيّر شيئًا

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

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

الدمج

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

قارن أي مرجعين

اختر أساسًا ومرجعًا للمقارنة — فرعًا أو وسمًا أو SHA خامًا، مع زر تبديل — وستحصل على عدّادات التقدّم والتأخّر، والالتزامات الخاصة بكل جانب، والفرق المجمَّع كاملًا، وتسليم بضغطة واحدة إلى فتح طلب سحب.

مقارنة فرعين: ما يخصّ كل جانب وحده، والفرق المجمَّع

ويمكن الوصول إليها من الشريط الجانبي (قارن بالفرع الحالي)، أو من قائمة الأدوات، أو بـ ⌘K.

الانتقاء والعكس وإعادة التعيين

يعيش الانتقاء والعكس في قائمة السياق في الرسم البياني، كما كانا دائمًا. أما إعادة التعيين فمدخل واحد — إعادة التعيين إلى الالتزام… — بدل ثلاثة مداخل خام soft/mixed/hard كانت تتناقض فيما بينها.

يجلس التعديل والتراجع وإعادة التعيين في أعلى قائمة الالتزام الواحد وتبقى ظاهرة حين تكون غير آمنة: فهي تُعطَّل، مع تلميح يقول لماذا. فالتراجع لا يكون إلا لـ HEAD غير مدفوع؛ والتعديل مسموح أيضًا على HEAD منشور، لكنه يحذّر من أن إرسالًا قسريًا سيلزم. وإعادة التعيين لا تصل إلا إلى الأسلاف المحليين مضافًا إليهم أول التزام منشور — لا إلى تاريخ أقدم كيفما اتفق.

ونافذة إعادة التعيين تجعل الوضع صريحًا:

نافذة «إعادة التعيين إلى الالتزام»، والأوضاع الثلاثة مشروحة

الوضع النتيجة
Soft إبقاء التغييرات مُدرجة
Mixed إبقاء التغييرات غير مُدرجة
Hard التخلي عن الالتزامات وتغييراتها

لا يُختار Hard مسبقًا أبدًا. وشجرة العمل المتسخة تنال تحذيرًا إضافيًا، لأن إعادة التعيين قد تستبدل عملًا جاريًا أو تتعارض معه. أما عرض على GitHub فيسكن مع إجراءات النسخ ولا يُفتح إلا لالتزامات منشورة على بعيد github.com.

وإن حدّدت عدة التزامات أولًا، طبّق الانتقاء التحديد كله، بالترتيب.

قبل أن تدمج أي شيء

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

انظر أيضًا: إعادة الأساس التفاعلية · الفروع المكدَّسة · رادار التعارضات

حسّن هذه الترجمة على GitHub