2013-08-20 10 views
42

私はGitブランチの古いコミットに戻す方法を知っていますが、タグによって指示されるブランチの状態に戻すにはどうすればよいですか?Gitの特定のタグに戻すにはどうすればいいですか?

git revert -bytag "Version 1.0 Revision 1.5" 

これは可能ですか?

+0

ブランチを巻き戻したい(* remove *コミット)か、ブランチを設定する現在のブランチに* new *コミットを追加しますか?すべてのファイルが "そのタグによって与えられたコミット "? – torek

+0

あなたが説明した方法で現在のブランチに新しいコミットを追加すると思いますが、 –

+0

その場合は、[この回答](http://www.ibm.com/developerworks/mysql/git/index.html)の 'git checkout .'メソッドを使用してください。 /stackoverflow.com/a/4114122/1256452)。 – torek

答えて

72

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

  1. 特定のタグに現在のブランチをリセットします:あなたは、少なくともこれら二つの選択肢がいるあなたの場合

    git reset --hard tagname 
    
  2. を元に戻すの生成は、の状態にあなたを取得する上でコミットタグ:

    git revert tag 
    

コミットをマージしていると、これによっていくつかの競合が発生する可能性があります。

+11

"git revert "は、作業コピーをそのバージョンにリストアするのではなく、タグ付きコミットの変更を元に戻すと思います。 – Matt

+0

未追跡/非バージョン化ファイルも取り除くには、https://stackoverflow.com/a/912737/923560に従ってください。 – Abdull

7

使用git reset

git reset --hard "Version 1.0 Revision 1.5" 

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

関連する問題