basyura's blog

あしたになったらほんきだす。

過去のコミットからブランチを作る

順調にコミットしてたつもりが、「ん?別の方法の実装のほうが良かったんじゃないか?」と試したくなることがしばしばある。でも、歴史は進んでしまっている・・・どうしよう。といった場合の話。

○ 5f55627d5b9ba04cfd81d4a553bd1b93af245c89
│
● 336e00890fc03ba55563998d7459771649fb46b5
│
○ 475199210277497db63b290b5819f5cc3dd0e4d3
│
○ 76d6180f679d8115291df66ac4f80215e6286877

● からブランチを作りたい場合

git checkout -b branch_name 336e00890fc03ba55563998d7459771649fb46b5

適当にコミットしたとすると

○ 5f55627d5b9ba04cfd81d4a553bd1b93af245c89
│
│ ○ b3d96b7d13accb326baf374ad2a971aa7354b3da
│/
● 336e00890fc03ba55563998d7459771649fb46b5
│
○ 475199210277497db63b290b5819f5cc3dd0e4d3
│
○ 76d6180f679d8115291df66ac4f80215e6286877

といった感じになる。