CodeShot
Midسختی 2 از ۵· در 65٪ مصاحبه‌های این حوزه پرسیده شده

وقتی هنگام merge با Conflict مواجه می‌شویم، چه باید کرد؟

نشان کردن

پاسخ کوتاه

Git خطوط متداخل را در فایل با نشانگرهای <<<<<<< ======= >>>>>>> مشخص می‌کند؛ باید نسخهٔ نهایی درست را انتخاب/ترکیب کرده و فایل را add و commit کنیم.

پاسخ کامل

وقتی دو شاخه یک خط از یک فایل را به‌طور متفاوت تغییر داده باشند، Git نمی‌تواند خودکار تصمیم بگیرد و فایل را در حالت Conflict می‌گذارد.

مراحل رفع:

  1. فایل‌های متداخل را با git status پیدا کنید.
  2. نشانگرهای <<<<<<<, =======, >>>>>>> را باز کرده و نسخهٔ درست را نگه دارید.
  3. git add <file> برای علامت‌گذاری «حل‌شده».
  4. git commit برای تکمیل merge.

مثال کد

<<<<<<< HEAD
var timeout = 30;
=======
var timeout = 60;
>>>>>>> feature/x

نکته مهم

ابزارهایی مثل VS Code یا GitKraken رفع Conflict را با نمایش گرافیکی ساده‌تر می‌کنند.

اشتباه رایج

❌ نگه‌داشتن نشانگرهای Conflict در فایل نهایی و commit کردن آن‌ها به‌اشتباه.