gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/compare_tag.sh (about) 1 #!/bin/bash 2 3 ## 获取本地最后一个提交的版本 4 #last_commit=$(git log -1 --pretty=format:"%H") 5 # 6 ## 获取远程仓库上的标签列表,并根据版本号进行排序 7 #tag_list=$(git ls-remote --tags | awk '{print $2" "$1}' | sed 's#refs/tags/##' | sort -V) 8 # 9 ## 获取远程仓库上最后一个标签的版本号 10 #last_tag=$(echo "${tag_list}" | tail -n1 | awk '{print $2}') 11 # 12 #echo $last_commit 13 #echo $last_tag 14 # 15 ## 比较最后一个标签的版本与本地最后一个提交的版本是否一致 16 #if [[ ${last_tag} == ${last_commit} ]]; then 17 # echo "The latest tag in the remote repository is the same as the latest commit in the local repository." 18 #else 19 # echo "The latest tag in the remote repository is different from the latest commit in the local repository." 20 #fi 21 22 # 获取本地提交的最后一个版本 23 commit=$(git log -1 --format="%H") 24 # 获取远程仓库上的最后一个标签 25 tag=$(git ls-remote --tags --sort='v:refname' | tail -n 1 | cut -f 1) 26 echo "本地最新提交版本: $commit" 27 echo "仓库最新标签版本: $tag" 28 # 比较两个版本是否一致 29 if [ "$tag" = "$commit" ]; then 30 echo "Yes" 31 else 32 echo "No" 33 fi