You can git clone <REPO> <DEST FOLDER>, no need to cd
maybeCreateDir is not used each time, there are some mkdir
"changes" is not a helpfull commit message. Accept an optional argument string and {MESSAGE:=change}
Accept a different repo path
set -euxo pipefail at the start of the script if you want to exit at any error. Some sort of bash strict mode
shellcheck does not like iterating over ls's output
I'm too lazy to open issues/PR for all that, and I still need to learn stow. Hopfully this might help me ? (I don't really need help with git that this sçript look to abstract too much for me.)
Stow has been pretty amazing for my dotfiles repo. Being able to just stow adapt <folder> and git reset --hard to overwrite an existing config on a new machine is just so nice.