更新: 2024-04-03 (水)
投稿: 2024-01-28 (日)
[Git] リモートのタグを強制的に取得する
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
感謝
- git tag - How to tell which commit a tag points to in Git? - Stack Overflow
- git - How to get rid of “would clobber existing tag” - Stack Overflow
- Gitのローカルのタグをリモートに強制アップデート - nwtgck / Ryo Ota
- How to remove all git origin and local tags? - Stack Overflow
更新履歴
- 2024/04/03
- ローカルのタグを全て削除して、リモートのタグを再取得する方法を追加
関連記事
新着記事