আমি সম্প্রতি আমার কোডটি সংস্করণ নিয়ন্ত্রণের অধীনে (এসভিএন এর অধীনে আমি যে ল্যাবটিতে কাজ করছি, এবং গিথুবটিতে আমার নিজের কোডগুলি (স্পষ্টতই গিট দিয়ে)) লাগানো শুরু করেছি। সংস্করণ নিয়ন্ত্রণ ব্যবহার করার আগে, আমি এই জাতীয় কিছু করতাম। আমি সংস্করণ নম্বর সহ অনেক ফোল্ডারের ভিতরে লাইব্রেরির নাম সহ একটি ফোল্ডার রেখেছিলাম। যতবার আমি নতুন সংস্করণে কাজ শুরু করতে চেয়েছি, আমি সর্বশেষ সংস্করণটির একটি অনুলিপি তৈরি করব, নামটি নতুন সংস্করণে পরিবর্তন করব এবং বাস্তবায়ন শুরু করব।
ফোল্ডারটি সংস্করণ নিয়ন্ত্রণের অধীনে রাখলে এটি অপ্রয়োজনীয় মনে হয়। অপ্রয়োজনীয়তা ছাড়াও, কেউ যদি সর্বশেষতম সংস্করণটি পেতে চায় তবে সে কেবল import
স / clone
এস হলে তারা সমস্ত সংস্করণ ডাউনলোড করে ।
এখন আমি সংস্করণ নিয়ন্ত্রণের মাধ্যমে এটি করার অনেকগুলি উপায় দেখতে পাচ্ছি তবে যেহেতু আমি এটিতে নতুন আছি তাই জানি না কোনটি আরও রক্ষণাবেক্ষণযোগ্য হবে।
পদ্ধতি 1: ট্যাগ ব্যবহার করে
যদি আমি ট্যাগগুলি সঠিকভাবে বুঝতে পারি, তবে আপনার মূল শাখাটি থাকবে, আপনি যা কিছু পরিবর্তন করেছেন তা প্রতিশ্রুতিবদ্ধ এবং একটি সংস্করণ দিয়ে ট্যাগ করুন। তারপরে, আপনি যখন এটির একটি কার্যকরী অনুলিপি পেতে চান, আপনি একটি নির্দিষ্ট ট্যাগ সহ এটি পান। (আমি ভুল হলে শুধরে)
পদ্ধতি 2: ব্রাঞ্চিং সংস্করণ
এই পদ্ধতিতে, প্রধান শাখা হবে উন্নয়ন শাখা। প্রতিবার এবং পরে যে একটি স্থিতিশীল সংস্করণ তৈরি করা হয় (আসুন বলা যাক v1.2.0
), আপনি সেই সংস্করণটির জন্য একটি শাখা তৈরি করেন এবং কখনই এটি প্রতিশ্রুতিবদ্ধ না। এইভাবে, আপনি যদি একটি নির্দিষ্ট সংস্করণ ডাউনলোড করতে চান তবে আপনি সেই শাখা থেকে কোড পাবেন। যদিও আমি বলেছিলাম যে আপনি এটির প্রতিশ্রুতিবদ্ধ হন না, তবুও পুরানো সংস্করণটি চালু রাখতে বাগ ফিক্সগুলি করা এবং পুরানো সংস্করণের শাখায় প্রতিশ্রুতিবদ্ধ হওয়া সম্ভব হতে পারে। উদাহরণ হিসেবে বলা যায় বর্তমান সংস্করণটি হলে v2.0
, কিন্তু যারা ব্যবহার করার বিষয়ে নিশ্চিত v1.2
, আপনি থেকে অন্য শাখা পেতে পারেন v1.2
, যথা v1.2.1
ও ত্রুটি সমাধান কমিট, বা শুধু হিসাবে সংস্করণ একই রাখা v1.2
এবং মাত্র বাগ সংশোধন করা হয়েছে কমিট।
সুতরাং শাখাগুলি এটির মতো দেখাবে:
v1.2.1 v1.2.2
/ /
v1.0.0 v1.2.0--------- v2.0.0
/ / /
-------------------------------------- dev
প্রতিটি ক্ষুদ্র সংস্করণ আপডেটের জন্য আপনার শাখা রয়েছে। (মনে রাখবেন যে উপরের গ্রাফে v1.2.1 এবং v1.2.2 প্রকাশিত হয়েছে বা v2.0.0 প্রকাশিত হওয়ার পরে তৈরি হয়েছে, সুতরাং তারা v1.2.0 এবং v2.0.0 এর মধ্যে বিকাশের অংশ ছিল না it এটিকে পুরানো সংস্করণগুলির সমর্থন হিসাবে ভাবেন)
পদ্ধতি 3: শাখা উন্নয়ন
এই পদ্ধতিটি পূর্বের বিপরীত। প্রধান শাখাটি সর্বশেষতম স্থিতিশীল সংস্করণ হবে। যখনই আপনি একটি নতুন সংস্করণে কাজ করছেন, আপনি একটি শাখা তৈরি করুন (উন্নয়নের জন্য) আপনার কোডে কাজ করুন এবং এটি স্থিতিশীল হয়ে গেলে এটিকে মূল শাখার সাথে একীভূত করুন।
এই ক্ষেত্রে, শাখাগুলি এইরকম দেখাবে:
________ ____ ________________ _____ dev
/ \/ \/ \/
---------------------------------- latest_version
সম্ভবত এটি ট্যাগের সাথে একত্রে করা দরকার?
প্রশ্নটি!
যাইহোক, আমার প্রশ্নটি আপনার অভিজ্ঞতার ভিত্তিতে, এর মধ্যে কোন পদ্ধতিটি আরও ব্যবহারিক প্রমাণিত করে? সেখানে কি একটি সেরা সেরা পদ্ধতি আছে (সম্ভবত আমি নিজেকে খুঁজে বের করিনি)? এই জিনিসগুলি সাধারণত কীভাবে হয়?