git annex – manage your media the git way

Manage a Music Collection by Partial Git Checkouts (git annex)

  • This first article is what got me interested in git annex:
  • managing a music collection with git-annex
  • How is this different from creating a branch of the items you want on a particular device and checking out that branch?

Git Annex Documentation

  • git annex walkthrough link
  • I particularly like the following shell example. You can see where your stuff is stored.
# cd /media/usbdrive
# git annex whereis
whereis my_cool_big_file (1 copy)
    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
whereis other_file (3 copies)
    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
    62b39bbe-4149-11e0-af01-bb89245a1e61  -- here (usb drive)
    7570b02e-15e9-11e0-adf0-9f3f94cb2eaa  -- backup drive

  • This will save me a lot of time, since I currently write and run scripts remotely on different systems to inventory the contents.


git annex is a easy way to manage collections of large binary files (such as music or videos). Much easier than the method I have used with multiple branches or subdivided libraries (where each subsection is managed by a different git repository)