গিটে মার্জ দ্বন্দ্বগুলি কীভাবে সমাধান করবেন

Gite Marja Dbandbaguli Kibhabe Samadhana Karabena



এই পোস্টে, আমরা আপনাকে দেখাব গিটে মার্জ দ্বন্দ্বগুলি কীভাবে সমাধান করবেন । গিট বিকাশকারীদের স্বাধীন পরিবর্তন করতে মূল কোডবেস থেকে শাখা তৈরি করতে দেয়। এই পরিবর্তনগুলি তখন বিদ্যমান কোডে একীভূত হতে পারে। এটি অন্যদের কাজগুলি সম্পূর্ণ করার জন্য অপেক্ষা না করে দলগুলিকে সমান্তরালে কাজ করতে সক্ষম করে।



  গিটে মার্জ দ্বন্দ্বগুলি কীভাবে সমাধান করবেন





তবে কোডের একই অংশগুলি বিভিন্ন শাখায় পরিবর্তন করা হলে মার্জ দ্বন্দ্বগুলি ঘটতে পারে। গিট সর্বদা এই দ্বন্দ্বগুলি নিজেরাই সমাধান করতে পারে না। এই জাতীয় ক্ষেত্রে, আপনাকে সেগুলি ম্যানুয়ালি ঠিক করতে হবে এবং তাদের ঠিক করতে হবে।





বিভিন্ন পর্দার আকারে ওয়েবসাইট দেখুন

গিটে মার্জ দ্বন্দ্বগুলি কীভাবে সমাধান করবেন

বিভিন্ন উপায় আছে গিটে মার্জ দ্বন্দ্বগুলি সমাধান করুন , আপনার কর্মপ্রবাহ, সরঞ্জাম এবং স্বাচ্ছন্দ্যের স্তরের উপর নির্ভর করে। আপনি গিট কমান্ডগুলি ব্যবহার করে টার্মিনালে সরাসরি এগুলি সমাধান করতে পারেন, ভিএস কোডের মতো একটি পাঠ্য সম্পাদক ব্যবহার করতে পারেন, বা গিথুব ডেস্কটপ, সোর্সেট্রি বা গিটক্রাকেনের মতো জিইআইআই সরঞ্জামগুলির উপর নির্ভর করতে পারেন। আসুন আমরা বুঝতে পারি যে কীভাবে সংঘাতের দ্বন্দ্বগুলি ঘটে এবং কীভাবে গিট এবং ভিজ্যুয়াল স্টুডিও কোড (ভিএস কোড) ব্যবহার করে একটি সাধারণ উদাহরণের সাহায্যে সেগুলি সমাধান করা যায়।



আপনার গিটহাব অ্যাকাউন্টে যান এবং একটি দিয়ে একটি নতুন সংগ্রহস্থল তৈরি করুন Readme.md ফাইল। আসুন এই রেপোর নাম দিন মার্জ-বিরোধ-ডেমো

  নতুন সংগ্রহস্থল গিট

পরবর্তী প্রতিশ্রুতিতে (মূল শাখায়) সম্পাদনা করুন Readme.md ফাইল এবং কিছু পাঠ্য সামগ্রী যুক্ত করুন। পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ।



দ্রষ্টব্য: সংগ্রহস্থল তৈরি করার পরে এটি README.MD সম্পাদনা করার প্রয়োজন নেই। এই পদক্ষেপের (এখানে) উদ্দেশ্যটি হ'ল মূল শাখায় পরিবর্তনের অনুকরণ করা যাতে একই ফাইলটি সংশোধন করে এমন বিভিন্ন শাখাগুলিকে মার্জ করার সময় পরে কোনও দ্বন্দ্ব দেখা দিতে পারে।

যেতে কোড> পাগল l এবং রেপোর অনুলিপি করুন Https লিঙ্ক।

  গিটহাব রেপো লিঙ্কটি অনুলিপি করুন

এরপরে, আপনার স্থানীয় কম্পিউটারে একটি ডিরেক্টরি তৈরি করুন। এর মতো কিছু নাম দিন Twc_git_merge_demo । ভিএস কোডে এই ডিরেক্টরিটি খুলুন, টার্মিনালটি চালু করুন ( তিনটি বিন্দু> টার্মিনাল> নতুন টার্মিনাল ), এবং গিটহাব রেপো ব্যবহার করে ক্লোন করুন:

git clone https://github.com/sangeetaghera2710/merge-conflict-demo.git

এরপরে, ক্লোনযুক্ত রেপোতে নেভিগেট করুন এবং নামযুক্ত একটি নতুন শাখা তৈরি করুন বৈশিষ্ট্য 1 ::

0C368C4E795806EFB48D88477775162B95E99B94

  ভিএস কোডে ক্লোন রেপো

Readme.md ফাইলটিতে কিছু পাঠ্য যুক্ত করুন, তারপরে মঞ্চ এবং পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ:

7550DA6365563CE554CP337721507D3E7C15BEC

এই উদাহরণে, আমরা git add . DF82F619B34EE581735E61B6F53A44647A034EE8 এর পরিবর্তে ব্যবহার করেছি
981F371F73E9BA616BE26B26DE4AB6D22EE9521AF সমস্ত পরিবর্তিত ফাইল, যখন git add README.md স্টেজ কেবলমাত্র নির্দিষ্ট ফাইল। এছাড়াও, git status ওয়ার্কিং ডিরেক্টরি এবং স্টেজিং অঞ্চলের বর্তমান অবস্থা প্রদর্শন করতে ব্যবহৃত হয়।

এরপরে, মূল শাখায় ফিরে যান এবং নামযুক্ত আরও একটি শাখা তৈরি করুন বৈশিষ্ট্য 2 ::

git checkout main
git checkout -b feature2

এখন একই সম্পাদনা করুন Readme.md ফাইল, তবে পাঠ্যের একটি আলাদা লাইন যুক্ত করুন। আবার, মঞ্চ এবং প্রতিশ্রুতিবদ্ধ:

15120E7E1CBFD6D22B3D0F7605ED54791293A5

  বৈশিষ্ট্য 2 শাখায় পরিবর্তন যুক্ত হয়েছে

এখন মূল শাখায় ফিরে যান এবং এতে বৈশিষ্ট্য 1 মার্জ করুন:

00A447E33C7C787DCAF4EC5ADDA4A32C9A7F7

এই মার্জটি কোনও দ্বন্দ্ব ছাড়াই শেষ করা উচিত।

  গিট সাফল্য একীভূত

এরপরে, স্যুইচ করুন বৈশিষ্ট্য 2 ব্রাঞ্চ এবং এতে আপডেট হওয়া মূলটিকে একীভূত করুন:

86319972F8517A70CF3B467C7FE8AEB0CFF1A66

এবার, উভয় শাখা একই বিভাগকে সংশোধন করার কারণে Readme.md ফাইলে একটি মার্জ দ্বন্দ্ব ঘটবে।

  সংঘাত একীভূত

উইন্ডোজ 10 ডেস্কটপ আইকন দেখাচ্ছে না

পড়ুন :: গিটে দুটি শাখা কীভাবে মার্জ করবেন

মার্জ সংঘাতের সমাধান করা

যখন কোনও মার্জ দ্বন্দ্ব দেখা দেয়, গিট প্রতিটি শাখা থেকে বিরোধী বিভাগগুলি হাইলাইট করার জন্য আক্রান্ত ফাইলগুলিতে বিশেষ চিহ্নিতকারী (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< এই চিহ্নিতকারীরা আপনাকে দ্বন্দ্বগুলি সনাক্ত করতে সহায়তা করে, আপনাকে কোন সংস্করণটি রাখতে হবে বা মার্জ চূড়ান্ত করার আগে কীভাবে পরিবর্তনগুলি একত্রিত করতে হবে তা ম্যানুয়ালি সিদ্ধান্ত নিতে দেয়।

ভিএস কোডে দ্বন্দ্বযুক্ত ফাইল (Readme.md) খুলুন। আপনি উপরের চিত্রটিতে প্রদর্শিত সংঘাতের চিহ্নিতকারীগুলি দেখতে পাবেন।

ভিএস কোড আপনাকে ম্যানুয়ালি সংঘাতগুলি সমাধানের জন্য চারটি বিকল্প সরবরাহ করে:

  • বর্তমান পরিবর্তন গ্রহণ করুন: বৈশিষ্ট্য 2 থেকে পরিবর্তন রাখুন।
  • আগত পরিবর্তন গ্রহণ করুন: প্রধান থেকে পরিবর্তনগুলি রাখুন (যার মধ্যে বৈশিষ্ট্য 1 অন্তর্ভুক্ত)।
  • উভয় পরিবর্তন গ্রহণ করুন: উভয় পরিবর্তনের সেট রাখুন।
  • পরিবর্তনগুলি তুলনা করুন: সিদ্ধান্ত নেওয়ার আগে পার্থক্যগুলি দেখুন।

  দ্বন্দ্ব সমাধানের জন্য বিকল্পগুলি

ক্লিক করুন পরিবর্তনগুলির তুলনা করুন । আপনি যখন মার্জ দ্বন্দ্বের সময় ভিএস কোডের পরিবর্তনগুলি তুলনা করতে ক্লিক করেন, এটি পাশাপাশি পাশাপাশি খোলে ডিফ ভিউ বিরোধী ফাইলের। এই ভিউটি আপনার বর্তমান শাখার পরিবর্তনগুলি (বাম দিকে) এবং আপনি যে শাখাটি মার্জ করছেন (ডানদিকে) থেকে আগত পরিবর্তনগুলি দেখায়। এটি আপনাকে দ্বন্দ্ব কীভাবে সমাধান করতে হবে তা বেছে নেওয়ার আগে উভয় সংস্করণ লাইন দিয়ে তুলনা করতে দেয়।

  শাখা সংস্করণ তুলনা করা

তারপরে আপনি ম্যানুয়ালি ফাইলটি সম্পাদনা করতে পারেন বা বর্তমান গ্রহণ, আগত গ্রহণ করতে, বা উভয়ই সরাসরি সেই দৃশ্য থেকে গ্রহণ করার মতো বিকল্পগুলির মধ্যে একটি ব্যবহার করতে পারেন।

দ্বন্দ্ব সমাধানের পরে, ফাইলটি সংরক্ষণ করুন। তারপরে মঞ্চ এবং পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ।

96F930BCA298263625A8F4B26A77837D8A1FE37

এটাই! আপনি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে সফলভাবে একটি গিট মার্জ দ্বন্দ্বের সমাধান করেছেন।

কিভাবে ফাইল এক্সপ্লোরার এই পিসি খুলুন

আমি আশা করি আপনি এটি দরকারী পাবেন।

পড়ুন: উইন্ডোজে গিট কীভাবে ডাউনলোড এবং ইনস্টল করবেন ।

আমি কীভাবে গিটে একটি প্রতিশ্রুতি ফিরিয়ে দেব?

গিট সংগ্রহস্থলে একটি প্রতিশ্রুতি ফিরিয়ে আনতে, আপনি git revert কমান্ডটি ব্যবহার করতে পারেন। আপনার প্রকল্পের ইতিহাস থেকে কমিটটি অপসারণের পরিবর্তে, এই কমান্ডটি কীভাবে কমিট দ্বারা প্রবর্তিত পরিবর্তনগুলি উল্টাতে হবে তা চিহ্নিত করে এবং ফলাফলের বিপরীত সামগ্রীর সাথে একটি নতুন ‘প্রত্যাবর্তন কমিট’ যুক্ত করে। এটি ইতিহাস সংরক্ষণে সহায়তা করে, যা নির্ভরযোগ্য সহযোগিতা এবং আপনার প্রকল্পের অখণ্ডতা উভয়ের জন্যই গুরুত্বপূর্ণ।

পরবর্তী পড়ুন: উইন্ডোজ কম্পিউটারে গিট খুঁজে পেতে অক্ষম ঠিক করুন

জনপ্রিয় পোস্ট