I've found lnk [0] to be a nice tool for this. Similar to GNU Stow as another comment mentioned, but plays a bit nicer with git (and, in my opinion, is nicer to use).
Edit: just remembered there was a good comparison of lnk and stow on the HN discussion of lnk from a few months back [1].