[Git] リモートのタグを強制的に取得する

更新: 2024-04-03 (水) 投稿: 2024-01-28 (日)

Git のローカルのタグがリモートとずれた場合に、リモートのタグを再取得して強制的に上書きする方法です。
ローカルとリモートで同一名のタグを作成したり、タグが再プッシュされた場合にずれたりします。

環境

  • git version 2.42.0.windows.2

全てのタグを表示する

まず、ローカルまたはリモートから取得済みのタグを全て確認する方法です。

git show-ref を使用します。
https://git-scm.com/docs/git-show-ref

git show-ref --tags

SHA 7 文字で表示することもできます。

git show-ref --tags --abbrev=7

git tag では、表示するフォーマットを指定できます。
https://git-scm.com/docs/git-tag

git tag --list --format '%(refname:short) %(objectname:short)'

リモートのタグを強制的に取得する

同名のタグ名がある場合は、リモートのタグで上書きします。
https://git-scm.com/docs/git-fetch

git fetch --tags --force

ローカルのタグを全て削除して、リモートのタグを再取得する

ローカルに存在して、リモートに存在しないタグがある場合は、ローカルのタグが残ります。
そのため、ローカルとリモートでタグが不一致の状態になります。

リモートのタグと完全に一致させる方法を示します。

ローカルのタグを全て削除します。

git tag -d $(git tag -l)

リモートのタグを取得します。

git fetch

感謝

更新履歴

  • 2024/04/03
    • ローカルのタグを全て削除して、リモートのタグを再取得する方法を追加
更新: 2024-04-03 (水) 投稿: 2024-01-28 (日)