আমি বর্তমানে এমন একটি সংস্থার জন্য কাজ করছি যা গিট কোড পরিচালনার জন্য ভিএসটিএস ব্যবহার করে। মাইক্রোসফ্টের একটি শাখা মার্জ করার "প্রস্তাবিত" উপায়টি হল "স্কোয়াশ মার্জ" করা, যার অর্থ এই শাখার জন্য সমস্ত অঙ্গীকারগুলি সমস্ত নতুন পরিবর্তনকে সংহত করে একটি নতুন প্রতিশ্রুতিতে পরিণত করা হয়।
সমস্যাটি হল, আমি যদি কোনও ব্যাকলগ আইটেমের জন্য একটি শাখায় কিছু পরিবর্তন করি, তবে সঙ্গে সঙ্গে অন্য ব্যাকলগ আইটেমটির জন্য অন্য শাখায় পরিবর্তন করা শুরু করতে চাই এবং এই পরিবর্তনগুলি প্রথম শাখার পরিবর্তনের সেটের উপর নির্ভর করে?
আমি সেই ব্যাকলগ আইটেমটির জন্য একটি শাখা তৈরি করতে এবং এটি প্রথম শাখায় বেস করতে পারি। এ পর্যন্ত সব ঠিকই. যাইহোক, যখন আমার দ্বিতীয় শাখার জন্য একটি টান অনুরোধ তৈরি করার সময় আসে, প্রথম শাখাটি ইতিমধ্যে মাস্টারের মধ্যে একীভূত হয়ে গেছে এবং এটি স্কোয়াশ মার্জ হিসাবে সম্পন্ন হয়েছে, তাই গিট ঝগড়া করে একঝাঁক দ্বন্দ্বকে। এটি কারণ গিটটি মূল কমিটগুলি দেখতে পাচ্ছে না যে দ্বিতীয় শাখাটি ভিত্তিক ছিল, এটি কেবলমাত্র একটি বৃহত স্কোয়াশের সংশ্লেষ দেখতে পায় এবং তাই দ্বিতীয় শাখাকে মার্জ করার জন্য এটি প্রথম শাখার সমস্ত কমিট পুনরায় খেলতে চেষ্টা করে স্কোয়াশের একত্রীকরণের শীর্ষে, প্রচুর দ্বন্দ্ব সৃষ্টি করে।
সুতরাং আমার প্রশ্নটি হল, এটির কাছাকাছি আসার কোনও উপায় আছে (অন্য কোনও বৈশিষ্ট্যের শাখাকে কখনই বন্ধ করে দেওয়া নয় যা আমার কর্মপ্রবাহকে সীমাবদ্ধ করে) বা স্কোয়াশ মার্জ করলে কি গিটের মার্জিং অ্যালগরিদমকে ভেঙে ফেলে?
feature1মাস্টারে স্কোয়াশ-মার্জ হন তবে কিfeature2পরে মার্জ করতে চান what সেক্ষেত্রে, গিটfeature1স্কোয়াশড কমিটের শীর্ষে কমিটগুলি পুনরায় প্রয়োগ করার চেষ্টা করার সাথে সাথে প্রথম পদ্ধতির ফলাফল হবে না , তবে দ্বিতীয়টি গিটকে নির্ধারণ করার অনুমতি দেবে যে এই কমিটগুলি সংযুক্ত করার দরকার নেই?