How to keep track of changes and versions in your work?

Use git!

I believe many people are familiar with a filename looking more-or-less like paper-super-final-v6-2nd-review-this-time-print-for-sure.argh and a whole directory of different versions (because you'll never know when you'll need one of those). To solve this problem in a very efficient way, check out git - while it may be perceived as a tool strictly for programmers, I believe everyone can benefit from it, and here's why:

  • Keeping track of every change - git can track changes of every file, be it text or arbitrary binary data; while in text files you can see changes down to a letter, binary files (like images) are verified as a whole. That's why it's a perfect tool for not only developers, but also writers, graphic designers, photographers, or - more generally - almost anyone that has a file-based project.
  • Easier collaboration (even with yourself) - thanks to great services like GitLab or GitHub (or even self-hosted solutions), git can take care of synchronization and merging - be it your own machines, or your and other collaborators.
  • Your data at hand - when using git repository hosting services, your files are always with you, and they can be available to only yourself (or specific people, those are private repositories), or everyone (public repositories).
  • Included online backup - using hosting services gives you also the benefit of having all the files backed up! While there's no uptime SLA or warranties, for me it's hard to imagine infrastructure of services like GitLab or GitHub going down, or your data vanishing.