Git

Merge Conflicts

Merge Conflicts

অাগের পোস্টে অামরা গিট ব্রাঞ্চিং অার মার্জিং করেছি এখানে অামরা একটা ইস্যু নিয়ে কথা বলবো সেটা হলো মার্জ কনফ্লিক্ট।

ব্যাপারটা খুবই সাধারন , ধরা যাক অামাদের গিট রিপোতে দুটো ব্রাঞ্চ অাছে একটা test1 অন্যটা test2 । অামাদের দুটো ব্রাঞ্চেই কমন  একটা ফাইল ধরা যাক test.php

এখন অামরা test2 ব্রাঞ্চে অাছি এবং কোডে একটা চেন্জ অানলাম  (লাইক ফার্স্ট ইকোতে নিউলাইন)।

এরপর সব গিটে অ্যাড করে কমিট করলাম ।

এরপর অামরা test1 ব্রাঞ্চে সুইচ করলাম অার দেখলাম অামরা একটা স্টুপিড ; (সেমিকোলন) মিস করে এসেছি্। ওওওহ…. ক্র্যাপ।

অলরাইট অামরা সেটা ফিক্স করে গিট অ্যাড এ্যন্ড কমিট করলাম। এখন অামরা ব্রাঞ্চ দুটো মার্জ করবো। তো অামদের কারেন্ট পজিশন এখন test1 এ এবং এর সাথে মার্জ করবো test2 কে । এখন মার্জ কমান্ড দেবার পর অামরা দেখলাম মার্জ হচ্ছেনা বরং একটা এরর দেখাচ্ছে এরকম

অার এটাই হচ্ছে মার্জ কনফ্লিক্ট। কারনটা হচ্ছে অামাদের দুটো ব্রাঞ্চে অামরা  দুরকম চেঞ্জ এনেছি তাই গিট জানতে চাচ্ছে যে অামরা কোন কমিট টাকে রাখবো।

এখন অামরা যদি অামাদের কোডটা লক্ষ্য করি দেখবো এরকম দেখাচ্ছে

<<<<<<< HEAD থেকে নিচের ======= অংশটুকুর ভেতরে যা অাছে তাহলো অামাদের কারেন্ট ব্রাঞ্চ বা test1 এর কমিট

এবং ======= থেকে >>>>>>> test2 পর্যন্ত হলো test2 এর কমিট। এখান থেকে অামরা সিলেক্ট করবো যে কোন কমিট টা ফাইনালি থাকবে । এখানে অামরা ধরা যাক test1  এর কমিট রাখবো ,তাহলে এডিট টা হবে এরকম:

এখন অামরা এ্যড কমিট করে দুটো ব্রাঞ্চকে মার্জ করতে পারবো।

 

Share this post
Be the First to comment.

Leave a Comment

Your email address will not be published. Required fields are marked *