I have been using Backlog.md in precisely this way and it's very effective. The finished tasks end up being a knowledge store that the git history doesn't handle. I just finished a really large project that was planned, specc'd out, and broken up into backlog tasks. As I went through each task I stored all the changes and business logic issues in the task. Having a time stamped record of the thought process and experiment results has been very useful. https://github.com/MrLesk/Backlog.md/