সংস্করণ নিয়ন্ত্রণ সিস্টেম দ্বারা পরিচালিত প্রতিশ্রুতিবদ্ধ ইতিহাসটি ব্যবহার করতে প্রায় কিছুই খরচ হয় না। তবে একটি বড় প্রকল্প রিফ্যাক্টরিংয়ের (বা পুনর্গঠন / ক্লিনআপ) প্রচেষ্টার সময়, ফাংশন এবং ক্লাস এবং এমনকি নেমস্পেসগুলি সরানো হবে; কখনও কখনও বেশ কয়েকটি ফাইল একত্রে একত্রিত হয়ে যায় এবং অন্যান্য ফাইলগুলি বিভক্ত হয়ে যায়। এই পরিবর্তনগুলি প্রায়শই কয়েকটি ফাইলের মূল প্রতিশ্রুতিবদ্ধ ইতিহাস হারাতে পারে।
আমার ব্যক্তিগত মতে, উত্স কোডের ইতিহাস রাখার চেয়ে প্রকল্পের সংস্থার আপ-আপ রাখা আরও গুরুত্বপূর্ণ। ভাল প্রকল্প সংস্থা যুক্তিসঙ্গত প্রচেষ্টার সাথে অবিচ্ছিন্নভাবে নতুন বৈশিষ্ট্য যুক্ত করার অনুমতি দেয়, অন্যদিকে উত্স কোডের ইতিহাসের মান সন্দেহজনক বলে মনে হয়।
তদুপরি, ইউনিট পরীক্ষার ব্যবহারের সাথে সাথে, রিগ্রেশন সম্পর্কিত সমস্যাগুলি দ্রুত চিহ্নিত করা যায়। যতক্ষণ না সর্বশেষতম সংস্করণটি সমস্ত সফ্টওয়্যার প্রয়োজনীয়তা পূরণ করে চলেছে, আমাদের কি সোর্স কোডের ইতিহাস সংরক্ষণ করার দরকার আছে?
আমি বুঝতে পারি যে কোনও প্রেরিত উত্স কোড অবশ্যই গ্রাহকদের একটি বড় সংস্করণ আপগ্রেড করার প্রয়োজন ছাড়াই সহায়তা সরবরাহ করার প্রয়োজনীয়তার কারণে সংরক্ষণ করা উচিত। তবে এগুলি বাদ দিয়ে সোর্স কোড কমিট করার ইতিহাস রাখার কোনও মূল্য আছে কি?
ইতিহাসের প্রতিশ্রুতিবদ্ধ কোড কি দলের সদস্যদের মধ্যে যোগাযোগের ক্ষেত্রে কোনও ভূমিকা পালন করে? আমরা যদি প্রতিশ্রুতিবদ্ধ ইতিহাসটি বাতিল করে দিই, তবে পরিবর্তে যোগাযোগের জন্য "উত্স কোড" + "ইউনিট টেস্টিং কোড" এর উপর নির্ভর করি?
প্রতিশ্রুতিবদ্ধ ইতিহাসের অস্তিত্ব কি প্রকল্প সম্পর্কে গুরুত্বপূর্ণ তথ্যের দীর্ঘমেয়াদী ডকুমেন্টেশন যেমন কোনও বড় নকশা / প্রয়োজনীয় পরিবর্তন এবং এই পরিবর্তনগুলিকে ডেকে আনে এমন চিন্তার ধারাগুলি সম্পর্কে কি আত্মতুষ্ট করে তোলে?
These changes often lead to the loss of the original commit history of a few files.
যেমন "গিট দোষ" এ একবার দেখুন - কিছুই হারিয়ে যায় না। কখনও কখনও এটি খুঁজে পেতে কিছুটা কঠিন হতে পারে তবে এটি সর্বদা থাকে।