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