https://git-scm.com/book/en/v2/Git-Tools-Advanced- মার্জিং থেকে
এটি মূলত একটি জাল মার্জ করবে। এটি উভয় শাখার সাথে পিতা-মাতা হিসাবে একটি নতুন মার্জ কমিট রেকর্ড করবে, তবে এটি আপনি যে শাখায় মার্জ করছেন তাও তাকাবে না It এটি আপনার বর্তমান শাখায় সঠিক কোডটি মার্জ করার ফলে কেবল রেকর্ড হবে।
$ git merge -s ours mundo
'আমাদের' কৌশল দ্বারা তৈরি করা।
$ git diff HEAD HEAD~
আপনি দেখতে পাচ্ছেন যে আমরা যে শাখায় ছিলাম এবং সংযুক্তির ফলাফলের মধ্যে কোনও পার্থক্য নেই।
এটি প্রায়শই গিটকে মূলত এই ভাবনায় প্ররোচিত করতে কার্যকর হতে পারে যে পরে মার্জ করার সময় কোনও শাখা ইতিমধ্যে মার্জ হয়ে গেছে। উদাহরণস্বরূপ, বলুন যে আপনি একটি রিলিজ শাখা বন্ধ করে দিয়েছেন এবং এটিতে কিছু কাজ করেছেন যে আপনি কোনও সময়ে আপনার মাস্টার শাখায় ফিরে যেতে চাইবেন। এরই মধ্যে মাস্টার সম্পর্কিত কিছু বাগফিক্স আপনার রিলিজ শাখায় ব্যাকপোর্ট করা দরকার। আপনি বাগফিক্স শাখাকে রিলিজ শাখায় মার্জ করতে পারেন এবং আমাদের একই শাখাকে আপনার মাস্টার শাখায় মার্জ করতে পারেন (যদিও ফিক্সটি ইতিমধ্যে সেখানে রয়েছে) সুতরাং পরে আপনি যখন রিলিজ ব্রাঞ্চটি আবার মার্জ করবেন তখন বাগ বাগ থেকে কোনও বিরোধ নেই।
আমি যদি একটি নতুন টপিক শাখার পরিবর্তনগুলি প্রতিবিম্বিত করতে মাস্টার চাই তা আমি দরকারী বলে মনে করেছি। আমি লক্ষ্য করেছি যে -রক্ষীরা কিছু পরিস্থিতিতে দ্বন্দ্ব ছাড়াই একীভূত হয় না ... যেমন
$ git merge -Xtheirs topicFoo
CONFLICT (modify/delete): js/search.js deleted in HEAD and modified in topicFoo. Version topicFoo of js/search.js left in tree.
এক্ষেত্রে আমি যে সমাধানটি পেয়েছি তা ছিল
$ git checkout topicFoo
টপিকফু থেকে, প্রথমে -s আমাদের কৌশলটি ব্যবহার করে মাস্টারে মার্জ করুন, এটি জাল প্রতিশ্রুতি তৈরি করবে যা কেবলমাত্র টপফু-এর রাজ্য। it গিট বিভক্ত - আমাদের মাস্টার
নির্মিত মার্জ কমিট পরীক্ষা করুন
$ git log
এখন মাস্টার শাখা চেকআউট করুন
$ git checkout master
টপিক শাখাটি আবার মার্জ করুন তবে এবার -আবারের পুনরাবৃত্ত কৌশলটি ব্যবহার করুন, এটি আপনাকে এখন টপফু-এর রাজ্যের সাথে একটি মাস্টার শাখা উপস্থাপন করবে।
$ git merge -X theirs topicFoo