2019 আপডেট করুন:
আজকাল, প্রশ্নটি একটি প্রসঙ্গে গিট ব্যবহার করে দেখা যাবে এবং সেই বিতরণকৃত উন্নয়ন ব্যবহারের 10 বছর কার্যপ্রবাহের (মূলত গিটহাবের মাধ্যমে সহযোগিতা করা ) সাধারণ সেরা অনুশীলনগুলি দেখায়:
master
যে শাখাটি যে কোনও সময় উত্পাদনে মোতায়েনের জন্য প্রস্তুত: পরবর্তী প্রকাশ, বৈশিষ্ট্যযুক্ত শাখাগুলির একটি নির্বাচিত সেট মার্জ করে master
।
dev
(বা ইন্টিগ্রেশন শাখা, বা ' next
') হ'ল এটিই যেখানে পরবর্তী প্রকাশের জন্য নির্বাচিত বৈশিষ্ট্য শাখাটি একসাথে পরীক্ষা করা হয়
maintenance
(বা hot-fix
) শাখা হ'ল বর্তমান রিলিজ বিবর্তন / বাগ ফিক্সগুলির মধ্যে একটি, সম্ভাব্য সংযোজনগুলির সাথে ফিরে dev
এবং বা withmaster
এই ধরণের ওয়ার্কফ্লো (যেখানে আপনি এতে একীভূত dev
হন না master
, তবে যেখানে আপনি কেবল বৈশিষ্ট্য শাখায় মার্জ করেন dev
, তারপরে যদি নির্বাচিত হয় তবে master
সহজেই বৈশিষ্ট্যযুক্ত শাখাগুলি পরবর্তী রিলিজের জন্য প্রস্তুত না করতে ছাড়ার জন্য) গিটটিতে প্রয়োগ করা হয় রেপো নিজেই, গিট ওয়ার্কফ্লো দিয়ে (একটি শব্দ এখানে চিত্রিত )।
আরও দেখুন rocketraman/gitworkflow
। এ বনাম ট্রাঙ্ক-ভিত্তিক-বিকাশের ইতিহাসটি অ্যাডাম ডাইমিত্রুকের এই নিবন্ধের মন্তব্য এবং আলোচনায় উল্লেখ করা হয়েছে ।
(উৎস: গিট ওয়ার্কফ্লো: একটি কার্য-ওরিয়েন্টেড প্রাইমার )
দ্রষ্টব্য: এই বিতরণকৃত কার্যপ্রবাহে, আপনি যখনই চাইবেন প্রতিশ্রুতিবদ্ধ করতে পারেন এবং কোনও ইস্যু ছাড়াই কিছু ডাব্লুআইপি (ওয়ার্ক ইন প্রগ্রেস) এ চাপ দিতে পারেন: আপনি নিজের প্রতিশ্রুতিগুলিকে বৈশিষ্ট্য শাখার অংশ বানানোর আগে পুনর্গঠন করতে (গিট রিবেস) সক্ষম করতে পারবেন।
আসল উত্তর (অক্টোবর ২০০৮, ১০+ বছর আগে)
এটি আপনার রিলিজ পরিচালনার ক্রম প্রকৃতির উপর নির্ভর করে
প্রথমত, আপনার ট্রাঙ্কের সমস্ত কি পরবর্তী প্রকাশের জন্য সত্যই ? আপনি সন্ধান করতে পারেন যে বর্তমানে বিকাশিত কিছু ফাংশনগুলি হ'ল:
- খুব জটিল এবং এখনও পরিমার্জন করা প্রয়োজন
- সময় মতো প্রস্তুত নয়
- আকর্ষণীয় তবে এই পরবর্তী প্রকাশের জন্য নয়
এই ক্ষেত্রে, ট্রাঙ্কে কোনও বর্তমান বিকাশ প্রচেষ্টা থাকা উচিত, তবে পরের রিলিজের আগে নির্ধারিত একটি রিলিজ শাখা একীকরণ শাখা হিসাবে কাজ করতে পারে যেখানে কেবল উপযুক্ত কোড (পরের রিলিজের জন্য যাচাই করা) একত্রীকরণ করা হবে, পরে হোমোগলেশন পর্বের সময় স্থির করা হবে, এবং অবশেষে হিমায়িত এটি উত্পাদনের সাথে সাথে।
প্রযোজনা কোডের কথা এলে, আপনার মনে রাখবেন যে আপনার প্যাচ শাখাগুলিও পরিচালনা করতে হবে:
- প্রথম প্যাচগুলির প্রথম সেটটি প্রথম উত্পাদনে প্রকাশের আগেই শুরু হতে পারে (যার অর্থ আপনি জানেন যে আপনি কিছু বাগ সহ প্রযোজনায় যাবেন যা আপনি ঠিক করতে পারবেন না তবে আপনি সেই বাগগুলির জন্য আলাদা শাখায় কাজ শুরু করতে পারেন)
- অন্যান্য প্যাচ শাখাগুলিতে একটি সু-সংজ্ঞায়িত উত্পাদন লেবেল থেকে শুরু করার জন্য বিলাসিতা থাকবে
যখন দেব শাখার কথা আসে, আপনার কাছে একটি ট্রাঙ্ক থাকতে পারে, যদি না আপনার সমান্তরালভাবে অন্যান্য উন্নয়ন প্রচেষ্টা করা দরকার তবে :
- বিশাল রিফ্যাক্টরিং
- একটি নতুন প্রযুক্তিগত গ্রন্থাগারের পরীক্ষা করা যা অন্য ক্লাসে জিনিসগুলিকে কল করার উপায়কে পরিবর্তন করতে পারে
- একটি নতুন প্রকাশের চক্রের সূচনা যেখানে গুরুত্বপূর্ণ স্থাপত্য পরিবর্তনগুলি সংযুক্ত করা দরকার।
এখন, যদি আপনার বিকাশ-প্রকাশের চক্রটি খুব অনুক্রমিক হয়, তবে অন্যান্য উত্তরগুলির হিসাবে আপনি ঠিক যেতে পারেন: একটি ট্রাঙ্ক এবং কয়েকটি মুক্তির শাখা। এটি ছোট প্রকল্পগুলির জন্য কাজ করে যেখানে সমস্ত বিকাশ পরবর্তী রিলিজে যেতে নিশ্চিত, এবং কেবল হিমশীতল হতে পারে এবং মুক্তির শাখার প্রারম্ভিক পয়েন্ট হিসাবে কাজ করতে পারে, যেখানে প্যাচগুলি জায়গা নিতে পারে। এটি নামমাত্র প্রক্রিয়া, তবে আপনার আরও জটিল প্রকল্প হওয়ার সাথে সাথে ... এটি আর যথেষ্ট নয়।
ভিলি এম এর মন্তব্যের জবাব দিতে:
- মনে রাখবেন যে দেব শাখাটির অর্থ 'বিকাশকারী প্রতি একটি শাখা' নয় (যা 'একীভূত পাগলামি' কে উদ্দীপ্ত করবে, যাতে প্রতিটি বিকাশকারীকে তাদের কাজ দেখতে / পেতে অন্যের কাজকে মার্জ করতে হবে), তবে প্রতি বিকাশের জন্য একটি দেব শাখা রয়েছে প্রচেষ্টা.
- যখন এই প্রচেষ্টাগুলি আবার ট্রাঙ্কে মিশ্রিত করা দরকার (বা অন্য কোনও "প্রধান" বা আপনি যে সংজ্ঞাটি প্রকাশ করেছেন) তবে এটি বিকাশকারীর কাজ নয় - আমি পুনরায় বলি না, এসসি ম্যানেজার (কে কীভাবে সমাধান করবেন তা জানেন না) যে কোনও বিরোধী মার্জ)। প্রকল্পের নেতা মার্জটি তদারকি করতে পারে, অর্থাত এটি নিশ্চিত হয় / সময়মতো শেষ হয়।
- আপনি যাকে বাস্তবে মার্জ করার জন্য বেছে নেন, তার মধ্যে সবচেয়ে গুরুত্বপূর্ণটি হ'ল:
- ইউনিট পরীক্ষা এবং / অথবা সমাবেশ পরিবেশ যাতে আপনি সংযুক্তির ফলাফল স্থাপন / পরীক্ষা করতে পারেন।
- একীভূত হওয়ার শুরুর আগে একটি ট্যাগ সংজ্ঞায়িত করার জন্য যদি বলা হয় যে মার্জটি নিজেকে খুব জটিল বা সমাধানের জন্য দীর্ঘায়িত প্রমাণ করে তবে আগের অবস্থায় ফিরে যেতে সক্ষম হবেন।