tj.git-extras/bin/git-delete-tag
2023-01-20 18:17:49 +08:00

27 lines
567 B
Bash
Executable file

#!/usr/bin/env bash
# Assert there is at least one tag provided
test -z $1 && echo "tag required." 1>&2 && exit 1
# Detect the default remote exists or not
default_remote=$(git config git-extras.default-remote)
if [[ -n "$default_remote" ]]; then
origin="$default_remote"
else
origin=origin
fi
# Concatenate all the tag references
local_tags=""
origin_refs=""
for tagname in "$@"
do
local_tags=$local_tags" $tagname"
origin_refs=$origin_refs" :refs/tags/$tagname"
done
# Delete all the tags
git tag -d "$local_tags"
git push "$origin" "$origin_refs"