version-controlbackupversioning

Binary files/folders version control in 2020?


I'd like to keep a "snapshots/versions" of a folder containing lots of huge binary files. The folder contains all my backups made via rsync/rclone/scp/whatever. Since the source can be corrupted/hacked whatever, I'd like to keep all the versions.

We all know git/subversion aren't made for files other than text and I wonder if there is a more general tool for that purpose.

I'll exclusively use linux.


Solution

  • git-annex is definitely the tool you want for this job.

    Great docs, amazing code, awesome community.

    Quick start guide:

    Install it with sudo apt-get install git-annex then it's on to managing your data just like you'd do with git.

    git init
    git annex init "main-backup"
    git annex add  # if you don't specify any paths, it adds everything
    # it'll hash your files and store them inside the .git folder with their hash as their filenames
    git commit -m "Add my most important files"