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