Тема: Як правильно зберігати різні версії програми на github ?
Уявіть таку ситуацію :
Я створив програму (v1.0), код якої виклав у вільний доступ (на github/gitlab/sourceforge/<ще десь>).
Пройшов деякий час і я зрозумів, що моя програма - гівно (погана архітектура, неправильно зкопмоновані класи, методи названі невдало, оптимізації взагалі нема), короче я переписав програму з нуля і пафосно приліпив " v2.0".
Але вже є люди (розробники), які використовують стару версію в своїх проектах, їх влаштовує робота програми і вони не хочуть переписувати свій код із-за мене, також вони хочуть мати можливість скачувати код старої версії в майбутньому. Тобто я змушений залишити в своїх репозиторіях v1.0 і залити v2.0 не затераючи v1.0, хоча для користувачів (які не є розробниками) програма (v2.0) візуально виглядає точно так само як попередня.
Логіка підказує, що всі версії мають бути в одному репозиторії, але як це правильно зробити ?
Цілі :
Надати користувачам можливість завантажувати будь-яку версію програми;
Зберегти всі версії в одному ропезиторії. (насправді цей пункт під питанням)
Якщо знайдете якийсь проект на github, який є хорошим прикладом такої ситуації, то кидайте сюди посилання.
Якщо це питання вже є на stackoverflow - теж кидайте посилання.
І взагалі цікаво як ви робите в таких випадках.
Розділу про CVS я не знайшов, тому пишу тут.