I created a directory switcher for the terminal that works for any git managed project.
This is a script that creates a keyboard mapping for Ctrl-G that shows all directories in a fuzzy finder (fzy by default). Once selected a directory, your working dir will be changed to the selected one. Selection can be cancelled by esc or ctrl-c. Directory will not be changed in that case.
This should work in bash, zsh, fish, tcsh and FreeBSD's sh.