24

gitタグの名前を「1.0」から「1.5」に変更した後

git tag 1.5 1.0
git tag -d 1.0
git push origin :refs/tags/1.0

私のgitリポジトリは一貫性のない状態にあるようです。git describe出力は次のとおりです。

warning: tag '1.0' is really '1.5' here
1.0-97-g88085b2

1.5-...今すぐ戻るはずです

出力git fsck --tags

Checking object directories: 100% (256/256), done.
tagged commit aad9477bba4bcf44ea34ea9693aeffc98527ff01 (1.0) in b96ce67583239e198f9e2aff5175176d65779044
Checking objects: 100% (3975/3975), done.

削除されたタグへのぶら下がっている参照を削除するにはどうすればよいですか?これはタグの名前を変更するための正しい方法ですか?

4

4 に答える 4

2

誰かが履歴の書き換え (またはこの場合は履歴の再タグ付け) を提案するたびに、標準的な警告を繰り返します。それを回避できる場合は、それを行わないでください。

ただし、不正確な (乱雑な) 履歴の長期的な苦痛に見合うだけの価値がなく、短期的な苦痛に見合うだけの価値がある場合があります。

その場合、次の記事に必要な手順が記載されています: How to Rename a Tag Already Pushed to a Remote git Repo .

基本的な手順は次のとおりです。

git tag new_tag old_tag
git push --tags
git push origin :refs/tags/old_tag
git tag -d old_tag
于 2013-01-17T14:55:02.957 に答える
-3

いいえ、これは git のタグの適切なワークフローではないと思います。

git の基本的なルールは次のとおり です。既にプッシュしたものを台無しにしないでください。

すでにタグ 1.0 をプッシュしているので、ローカルで名前を 1.5 に変更してからプッシュしようとするのは望ましくありません。後世のために 1.0 タグを残して、新しい 1.5 タグを作成し、それもプッシュします。そして本当に-それがタグの目的です。そのため、今から 6 か月前にさかのぼって、バージョン 1.0 のソフトウェアを再現できます。

于 2013-01-17T14:28:16.593 に答える