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