18

このような質問があることは知っていますが、それは私が求めていることではありません。

私もそれを知っています:

git checkout tag-name

  • ブランチからあなたを切り離します。(つまり、ポインターを移動HEADし、ポインターを保持しBRANCHます)

git reset --hard tag-name

  • ブランチからあなたを切り離しませんが、以前のコミットを「ぶら下がっている」ようにします。(つまり、HEADBRANCHポインタの両方を移動します)

タグを更新するのにどちらが理にかなっているのでしょうか。つまり、プロダクションをリセットまたはチェックアウトする必要があります。ガベージコレクターが実行され、ぶら下がっているコミットが削除される可能性があることは知っていますが、タグに更新するプロセスの前にプロダクションが常に「プル」されている場合は、そこに悪いことは何もありません。

この更新呼び出しの前に常にaが実行されることを考慮して、resetまたはを使用してタグを本番環境で更新する必要がありますか?checkoutpull

4

1 に答える 1

16

タグに更新するのにどちらが理にかなっているのだろうか

本番インストールでは、タグをチェックアウトする必要があります。

このように考えてください。本番インストールは読み取り専用です。git reset --hard tag-name現在チェックアウトされているブランチを変更します。

あるいは

タグの作成に加えて、単に最新のリリースであるブランチが1つあるのが一般的な方法です。その場合、たとえばマスターにマージして、そこからタグを作成します。また、本番インストールでは、(マスターで)gitpullを使用して更新するだけです。

于 2012-05-25T10:33:57.383 に答える