web-dev-qa-db-ja.com

Gitで特定のタグに戻すにはどうすればよいですか?

Gitブランチで以前のコミットに戻す方法は知っていますが、タグで指定されたブランチの状態に戻すにはどうすればよいですか?私はこのようなものを想像します:

git revert -bytag "Version 1.0 Revision 1.5"

これは可能ですか?

66
zachd1_618

Gitタグは、コミットへの単なるポインターです。したがって、HEAD、ブランチ名、またはshaハッシュのコミットと同じ方法でそれらを使用します。コミット/リビジョン引数を受け入れる任意のgitコマンドでタグを使用できます。 git rev-parse tagnameで試して、それが指すコミットを表示できます。

あなたの場合、少なくとも次の2つの選択肢があります。

  1. 現在のブランチを特定のタグにリセットします。

    git reset --hard tagname
    
  2. トップに戻すコミットを生成して、タグの状態に戻します。

    git revert tag
    

ただし、マージコミットがある場合、これにより競合が発生する可能性があります。

101
jurglic

git reset を使用します。

git reset --hard "Version 1.0 Revision 1.5"

(指定された文字列がタグであると仮定)。

10
devnull