আপনি যে শব্দটি সন্ধান করছেন তা হ'ল 'চেরি বাছাই'। অর্থাৎ, একটি শাখার মাঝামাঝি থেকে একটি একক প্রতিশ্রুতি নিন এবং এটি অন্যটিতে যুক্ত করুন:
A-----B------C
\
\
D
হয়ে যায়
A-----B------C
\
\
D-----C'
এটি অবশ্যই গিট চেরি-পিক কমান্ড দিয়ে করা যেতে পারে।
এই প্রতিশ্রুতিযুক্ত সমস্যাটি হ'ল গিট সমস্ত ইতিহাস তাদের আগে অন্তর্ভুক্ত করার অঙ্গীকারকে বিবেচনা করে - এইভাবে, যদি আপনার মতো তিনটি কমিট থাকে:
A-----B-----C
এবং বি থেকে মুক্তি পাওয়ার চেষ্টা করুন, আপনাকে এর মতো সম্পূর্ণ নতুন প্রতিশ্রুতি তৈরি করতে হবে:
A-----------C'
যেখানে সি'র আলাদা আলাদা SHA-1 আইডি রয়েছে। তেমনিভাবে, চেরি একটি শাখা থেকে অন্য শাখায় প্রতিশ্রুতি বাছাইয়ে মূলত একটি প্যাচ তৈরি করা জড়িত, তারপরে এটি প্রয়োগ করা হয়, এভাবে ইতিহাসকে সেভাবে হারাতে হবে।
কমিট আইডিগুলির এই পরিবর্তনটি গিটারের মার্জিং কার্যকারিতা অন্যান্য জিনিসের মধ্যেও ভেঙে দেয় (যদিও খুব কম ব্যবহার করা হয় এমন কিছু হিউরিস্টিকস রয়েছে যা এই বিষয়ে কাগজ লিখবে)। আরও গুরুত্বপূর্ণ বিষয় যদিও এটি কার্যকরী নির্ভরতা উপেক্ষা করে - যদি সি আসলে বি তে সংজ্ঞায়িত কোনও ফাংশন ব্যবহার করে, আপনি কখনই জানতে পারবেন না।
সম্ভবত এটি হ্যান্ডেল করার আরও ভাল উপায় হ'ল আরও সূক্ষ্ম শস্যযুক্ত শাখা রাখা। এটি হ'ল কেবল 'মাস্টার' থাকার পরিবর্তে 'ফিচারএ', 'বাগফিক্সবি' ইত্যাদি রয়েছে। একবারে একটি সম্পূর্ণ শাখায় কোড পর্যালোচনা সম্পাদন করুন - যেখানে প্রতিটি শাখা কেবলমাত্র একটি কাজ করার দিকে মনোনিবেশ করে - এবং তারপরে এটি মার্জ করুন আপনার কাজ শেষ হয়ে গেলে একটি শাখা এটিই ওয়ার্কফ্লো যা গিটটির জন্য ডিজাইন করা হয়েছে এবং এটিতে কী ভাল :)
আপনি যদি প্যাচগুলির স্তরে জিনিসগুলির সাথে চুক্তি করার জন্য জোর দেন, আপনি ডার্কগুলি দেখতে চাইতে পারেন - এটি একটি সংগ্রহস্থলকে প্যাচগুলির একটি সেট হিসাবে বিবেচনা করে এবং এইভাবে চেরি পিকিং মৌলিক ক্রিয়ায় পরিণত হয়। তবে এটির নিজস্ব সমস্যা রয়েছে যেমন খুব ধীর হওয়া :)
সম্পাদনা: এছাড়াও, আমি নিশ্চিত নই যে আমি দুটি স্ক্রিপ্ট সম্পর্কে আপনার দ্বিতীয় প্রশ্নটি বুঝতে পেরেছি। হতে পারে আপনি এটিকে আরও বিশদে বিশদভাবে বর্ণনা করতে পারেন, সম্ভবত বিষয়গুলিকে বিভ্রান্ত হতে না দেওয়ার জন্য আলাদা প্রশ্ন হিসাবে?