git filter-branch --msg-filter to reword a pushed commit message
The solution was to escape the slash in "release/..." using a backslash. So the command I used was:
git filter-branch -f --msg-filter \'sed "s/release\/Version-[0-9].[0-9].[0-9]/develop/g"' \--tag-name-filter cat -- --all
Here is a slightly improved version which also updates all references to commit hashes in commit messages on the fly when doing filter-branch:
rm -f /tmp/git;touch /tmp/git;git filter-branch \ --subdirectory-filter <DIRECTORY> \ --tag-name-filter cat \ --commit-filter 'echo -n "s/${GIT_COMMIT}/" >>/tmp/git; \ NEW=`git_commit_non_empty_tree "$@"`; \ echo "${NEW}/g" >> /tmp/git; echo ${NEW}' \ --msg-filter 'sed -f /tmp/git' \ -- --all