Посмотрите в сторону тегов. Вы можете держать файлы так, как вам удобно, но каждый год - тегировать ревизии номером года. Так в папке 2012 все файлы будут с тегом 2012 и вы их сможете найти по тегу. Если в 2013-ом году вы изменяли файл из папки 2012, то у этого файла будет версия с тегом 2012 и с тегом 2013. И так далее.
Возможно, это стоит совместить с решением kaasius. Также верно, что использование git для бинарных файлов - это нецелевое использование.
По шагам.
1. Делаете чистый репозиторий
2. Делаете ветки для старых годов (git checkout -b 2011)
3. Сохраняете там прежние годы (git add -A && git commit)
4. Возвращаетесь в ветку master (она остается пустой)
5. Делаете следующую ветку (git checkout -b 2012)
6. Повторяем пункт 3
Алсо, во избежание, можно сразу сделать веточку empty, чтобы случайный мердж в master не заставил вас потом делать откаты.
То есть для нового года делаете новую чистую ветку, при этом можно безнаказанно работать в предыдущих годах.