Suppose I have the following simple git repository: a single branch, some commits one after another, a couple of them having been tagged (with *annotated* tags) after committing each of them, and then one day I decide I want to change the first commit (which, by the way, is not tagged, if that changes anything). So I run `git rebase --interactive --root` and just mark 'edit' for the initial commit, change something in it and `git rebase --continue`. Now all commits in my repository have been recreated, therefore their sha1's have changed. However, the tags I created are completely unchanged, still pointing to the sha1 of the previous commits.

Is there an automatic way of updating the tags to the correspoiding commits created when rebasing?

Some people suggest using `git filter-branch --tag-name-filter cat -- --tags` but that first warns me that each of my tags are unchanged and then says that each of my tags are changed to themselves (same tag name and same commit hash). And still, `git show --tags` says that the tags still point to the old commits.