Could we DRY this up at all? Looks like the git command and a part of the message change, but everything else is duplicated. In most other languages, I would probably use something like a dict/hash/map, but having to look up Bash's assoc array syntax is usually my personal cue that what I am doing is complicated enough that I should use a language other than Bash.