Na ukládání změn používám verzovací systém (GIT) a pak není problém mít uloženy stovky (nebo tisíce) verzí téhož dokumentu a přesto v tom mít pořádek, i když to používám a upravuju z mnoha různých strojů - tam to naopak má i tu zálohovací lfunkci, že když jeden náhodný stroj odejde, tak to mám ještě tak na 2-4 dalších v podstatě aktuální verzi. A když pracucu na různých částech na různých počítačích, tak to není problém následně sesynchronizovat.
A na to, jak neuvěřitelně mocný je to nástroj (třeba na něm dělají naráz tisíce programátorů na tom samém projektu), tak se používá velice snadno (na běžné věci), je legálně zdarma a bude udržován ještě dlouhou řadu let a přitom je rychlý a nenáročný na zdroje.
Jako třeba za dnešek jsem si napsal jednoduchou utilitku na rozebírání savů jedné prastaré hry, 150 řádků včetně komentářů a copy-paste kusů z jiných prográmků, už mi chodí natolik, že ji asi nebudu hned tak vylepšovat, ale vlastní repozitář jsem jí udělal a nějakých 4-5 verzí se už nahromadilo - prostě bylo jednodušší to zkusit takhle a ne bo takhle, tak jsem zkusil obojí a nakonec přebral z každého něco. Kdyby se ukázalo, že některé úpravy nebyly až tak chytré, tak snadno půlením najdu, kdy to začalo zlobit a buď opravím ten kus, co to tam zanesl, nebo se prostě vrátílm před něj a budu pokračovat jiným směrem. A protože jsem tam nakonec dělal ješte nějaké kosmětické změny a psal řadu komentářů, tak to snadno přetáhnu do té vedlejší verze.