1. ホーム
  2. ギット

[解決済み】git リポジトリを特定のコミットに切り替えるには?

2022-04-17 13:42:34

質問

私のgitリポジトリで、git logに以下のような5つのコミットをしました。

commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael 
Date:   Fri Feb 4 15:26:38 2011 -0800

commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date:   Mon Jan 31 10:37:42 2011 -0800

commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date:   Wed Jan 26 13:33:17 2011 -0800

commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael 
Date:   Wed Jan 26 11:16:51 2011 -0800

commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael 
Date:   Fri Jan 21 11:42:27 2011 -0800

ブランチのローカルで以前の4つのコミットをロールバックするにはどうすればよいですか? 言い換えると、最新の 4 つのコミット (git log からそのコミットの SHA を取得していると仮定します) を含まないブランチを作成するにはどうすればよいのでしょうか?

解決方法は?

新しいブランチを作成する(ローカル)。

  • コミットハッシュ(またはその一部)を使って

    git checkout -b new_branch 6e559cb
    
    
  • または、HEAD から 4 コミット戻るには

    git checkout -b new_branch HEAD~4
    
    

新しいブランチが (ローカルに) 作成されたら、この変更を同じ名前のリモートで再現したくなるかもしれません。 リモートブランチに変更をプッシュするには


について 最後の3つのコミットを破棄する をご覧ください。 Lunaryornの回答は以下の通りです。 .


について 新しいブランチを作成せずに、現在のブランチの HEAD を指定したコミットに移動します。 をご覧ください。 Arpiagarの回答は以下の通りです。 .