merge یا ادغام بدون تداخل (non-conflicting merge)
وضعیتی که در آن تغییراتی در شاخه master (یا main) وجود دارد، اما این تغییرات باعث ایجاد تداخل با تغییرات جدید در شاخه دیگر (مانند branch-1) نمیشوند. در این صورت، زمانی که شما بخواهید این دو شاخه را ادغام کنید، از شیوهای بهنام ادغام بدون تداخل (non-conflicting merge) استفاده میشود.
merge یا ادغام بدون تداخل
در این حالت بعد از ایجاد شاخه، بر روی شاخه اصلی مطابق شکل زیر حداقل یک کامیت صورت گرفته است:

در این حالت بین تغییرات شاخه اصلی و شاخه ای که قرار است ادغام شود تداخلی وجود ندارد، منظور از تداخل نداشتن این است که مثلا محتوای یک فایل بر روی مستر دقیقا با محتوای همان فایل روی شاخه یکی باشد
برای merge یا ادغام در این حالت به ترتیب مراحل زیر را انجام دهید:
- با دستور git switch master پوینتر یا اشاره گر را به شاخه اصلی یا master انتقال
دهید.
bashgit switch master
- توسط دستور زیر merge یا ادغام را انجام دهید:
bashgit merge <branch-name>
در دستور فوق منظور از <branch-name> نام شاخه ای است که قرار است merge یا ادغام شود، و شما می توانید هر نامی را جایگزین آن کنید.

به عنوان مثال فرض کنید قرار است شاخه branch-1 شکل زیر با master ادغام یا merge شود:

در این حالت که بین کامیت های شاخه و کامیت های master تداخلی وجود ندارد، اگر مشابه شکل زیر در حالی که روی master هستید از دستور merge استفاده کنید، خواهید دید که پیغام hint: waiting for your editor to close the file نمایش داده می شود:

این پیغام به خاطر این است که گیت برای این ادغام یا merge در حال ساختن یک commit می باشد و شما باید در این فایل که در شکل زیر نشان داده شده دلیل این merge کردن را بنویسید و یا آنچه به صورت پیش فرض نوشته شده را با کلید های ترکیبی Ctrl+S ذخیره نمایید:

بعد از ذخیره تغییرات روی علامت ضربدر کلیک کنید تا هم این پنجره بسته شود و هم merge انجام شود:

بنابراین پیغامی مبنی بر ادغام شدن یا merge به صورت شکل زیر خواهد آمد:

حال اگر وارد تاریخچه گیت یا همان git history شوید و گزینه all branches را انتخاب نمایید خواهید دید که ادغام یا merge با پیغامی که شما وارد کردید صورت پذیرفته است. شکل زیر را ببینید:
