Gitリポジトリを特定のコミットに切り替えるにはどうすればよいですか?質問する

Gitリポジトリを特定のコミットに切り替えるにはどうすればよいですか?質問する

私の git リポジトリでは、git ログに以下のように 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 を取得していると仮定します)。

ベストアンサー1

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

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

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

    git checkout -b new_branch HEAD~4
    

新しいブランチが(ローカルに)作成されたら、同じ名前のリモートにこの変更を複製することができます。変更をリモートブランチにプッシュするにはどうすればいいですか


最後の3つのコミットを破棄するには、Lunaryornの回答は以下


新しいブランチを作成せずに現在のブランチHEADを指定されたコミットに移動するには、アーピアガーの回答は以下

おすすめ記事