এটি একটি জটিল সমস্যা তবে অনেকের মুখোমুখি। আমি গিটফ্লো সেটআপটিকে একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করতে পছন্দ করি।
বিকাশ ->
মাস্টারে নতুন স্টাফ কাজ করা হচ্ছে -> উত্পাদনের পরীক্ষার প্রয়োজন সমাপ্ত জিনিস -> স্টাফ যা উত্পাদনে প্রকাশিত হয়েছে।
গৌণ (সংক্ষিপ্ত) বৈশিষ্ট্যগুলিতে আমি উন্নয়ন থেকে একটি শাখা তৈরি করি সেখানে কাজ করুন তারপর শাখাটি উন্নয়নে ফিরিয়ে দিন।
প্রধান (দীর্ঘমেয়াদী) বৈশিষ্ট্যগুলিতে আমি বিকাশ থেকে একটি শাখা তৈরি করি, branch শাখা থেকে ছোট শাখা তৈরি করি, তারপরে আবার প্রথম শাখায় মার্জ করি। একবার প্রধান বৈশিষ্ট্যটি সম্পূর্ণ হয়ে গেলে আবার উন্নয়ন শাখায় ফিরে যায়।
নিয়মিত বিরতিতে (প্রকল্পের উপর নির্ভর করে) আমি বিকাশটিকে আবার মাস্টারে মিশ্রিত করি এবং একটি পরীক্ষার চক্র শুরু হয়। টেস্টে যদি কোনও সমাধান আসে তবে সেগুলি মাস্টার শাখায় করা হয় (উপ শাখাটি তারপর মার্জ করুন)। এবং পরীক্ষার সময় মাস্টার শাখায় বিকাশ চালিয়ে যেতে পারে।
যে কোনও সময় মাস্টারকে বিকাশের সাথে একত্রীকরণ করা উচিত এবং এর যে কোনও দীর্ঘমেয়াদী শাখায় বিকাশ করা উচিত।
মাস্টার সর্বদা (তত্ত্বে) উত্পাদনের জন্য প্রস্তুত থাকা উচিত। বিকাশ সর্বদা (তাত্ত্বিকভাবে) উত্পাদনের জন্য প্রস্তুত হওয়া উচিত। পরীক্ষার্থীদের পরীক্ষার জন্য বৈশিষ্ট্যগুলির একটি শক্ত সেট সরবরাহ করার মধ্যে পার্থক্যের একমাত্র কারণ।
প্রস্তুত হয়ে গেলে, মাস্টারের একটি প্রতিশ্রুতি যা পরীক্ষা করা হয় তা উত্পাদনতে মিশে যায় এবং উত্পাদনে স্থাপনা সেই শাখা থেকে ঘটে। জরুরি অবস্থার মধ্যে যে হটফিক্সগুলি করা দরকার সেগুলি তখন মাস্টারগুলিতে মার্জ না করে প্রোডাকশন শাখায় স্থান নিতে পারে (যার অনেকগুলি পরীক্ষিত পরিবর্তন হতে পারে)।
আমার সাধারন গাছ দেখতে ভাল লাগে
LongTerm -> Development -> Master -> Production
LongTerm <- Development | |
| Development -> Master |
LongTerm <- Development -> Master |
Development <- Master |
Master -> Production
এটি আমার সাধারণ নিয়ম যে কোনও একক পরিবর্তনে কয়েক ঘন্টার বেশি সময় নেওয়া উচিত নয়। যদি এটি হয় তবে এটির আরও ছোট পরিবর্তনগুলি করা দরকার। যদি এটি একটি বিশাল বৈশিষ্ট্য (কোনও ইউআই পুনরায় লেখার মতো) থাকে তবে তা দীর্ঘমেয়াদে চলে যায় যাতে একইসাথে স্বাভাবিক বিকাশও চালিয়ে যেতে পারে। লংটার্ম শাখা সাধারণত স্থানীয় শাখা থাকে যখন বিকাশ, মাস্টার এবং উত্পাদন প্রত্যন্ত শাখা হয়। যে কোনও উপ শাখাও কেবল স্থানীয়। এটি দীর্ঘমেয়াদী বৈশিষ্ট্য সেটটিতে গিটের উপযোগিতা হতাশ না করে অন্যের জন্য সংগ্রহস্থলকে পরিষ্কার রাখে।
তবে আমি লক্ষ করতে চাই যে দীর্ঘমেয়াদী শাখার অস্তিত্ব একটি বিরল জিনিস। সাধারণত, আমার সমস্ত কাজ বিকাশে রয়েছে। কেবলমাত্র যখন আমার কাছে এমন কোনও বৈশিষ্ট্য (সেট) থাকবে যা আমার এত বেশি সময় নিতে পারে যে আমারও স্বাভাবিক দেব স্টাফের উপর কাজ করতে সক্ষম হওয়া দরকার, আমি কি লংটার্ম শাখা ব্যবহার করব? যদি এটি পরিবর্তনের একটি সেট যা একসাথে হওয়া উচিত তবে আমি সমস্ত কিছু না হওয়া পর্যন্ত কেবল মাস্টারটিতে মার্জ করব না।