You might consider it hackish, but at least there are plenty of tools out there for managing it :)
[1] https://www.gnu.org/software/stow/
Any usage of -f on a git command means you're probably doing something that you shouldn't be unless you absolutely know better.
git is a bit more flexible than how its normally used.