GitAdvanced
Merge Conflict সৃষ্টি ও সমাধান
Conflict কেন হয়, মার্কার বোঝা এবং steps দিয়ে সমাধান — বাংলায়।
15টি অংশবাংলা ভাষায়
Conflict কখন হয়?
দুটি branch একই ফাইলের একই অংশ আলাদাভাবে পরিবর্তন করলে Git একটির উপরে অন্যটি লাগাতে না পেরে conflict ঘোষণা করে। এটি ভয়ের কিছু নয় — এটি Git-এর সতর্কতা।
$ git merge feature/x
CONFLICT (content): Merge conflict in app.js
Automatic merge failed; fix conflicts and then commit the result.Conflict মার্কারগুলো
app.js — conflict অবস্থাjavascript
javascript
<<<<<<< HEAD
const title = "Main branch-এর নাম";
=======
const title = "Feature branch-এর নাম";
>>>>>>> feature/x<<<<<<< HEAD— আপনার বর্তমান branch (HEAD) এর অংশ=======— দুই পক্ষের সীমারেখা>>>>>>> feature/x— যে branch merge করছেন তার অংশ
সমাধান — ৩টি ধাপ
# 1. ফাইল edit করে সিদ্ধান্ত নিন
# নিচের মতো করে মার্কারগুলো মুছে দিন:
const title = "প্রয়োজনীয় নাম"; # উভয়ের মিশ্রণ বা যেকোনো একটি
# 2. stage ও commit করুন
git add app.js
git commit -m "merge: resolve conflict in app.js"সমাধানের সময় ব্যবহার্য কৌশল
| কমান্ড | কী দেয় |
|---|---|
| git --ours file | আপনার branch-এর সংস্করণ |
| git --theirs file | অন্য branch-এর সংস্করণ |
| git status | কোন কোন ফাইল conflict-এ আছে |
| git diff --name-only --diff-filter=U | শুধু conflict ফাইল |
merge abort — ফিরে যাওয়া
git merge --abort # শুরুতে ফিরে যাওয়া (merge বাতিল)
# rebase-এর জন্য:
git rebase --abort # বা --continueConflict কমানোর উপায়
- ছোট ও দ্রুত merge নিন — বেশি দিন বাঁচবেন না
- একই ফাইলে একাধিক ডেভেলপার একসাথে কাজ এড়ান
- প্রতিটি branch main হতে সতেজ রাখুন (প্রায়ই pull)
- ফাইল line endings/W ind খেয়াল রাখুন
- GUI টুল (VS Code) ভিজ্যুয়াল সমাধানে সাহায্য করে
আত্মবিশ্বাস
Conflict সমাধান developer জীবনের দৈনন্দিন বিষয়। প্রথমবার হলে সমস্যা নেই — ধীরে ধীরে মার্কার অনুযায়ী সঠিক অংশ রেখে stage+commit করুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।