環境
・Git version 2.20.1.windows.1
今日の目標
コミットを変更する操作を実践する。
ひとつ前のコミットに戻る。
前回の記事ではSampleBの内容をmasterにマージした。
今回は、SampleBのブランチを作成する前に戻って、新しくSampleCを作成する
操作を試してみる。
コマンドはresetコマンドを使う。
戻りたい状態のハッシュ値を引数で渡す。
まずはSampleBを作成する前のハッシュ値を調べる。
$ git log --graph
* commit 1ea19865678c353a23dac5168f097d82e760fac1 (HEAD -> master)
|\ Merge: 8381fa5 f41dde9
| | Author: 僕の名前 <僕のメルアド>
| | Date: Sun Feb 17 17:12:26 2019 +0900
| |
| | Merge branch 'SampleB'
| |
| * commit f41dde96d8ac51edac62f2faaae97914f60eff26 (SampleB)
| | Author: 僕の名前 <僕のメルアド>
| | Date: Sun Feb 17 00:11:49 2019 +0900
| |
| | add SampleB
| |
* | commit 8381fa57775415a1b8b39e841e987de678f8bf88
|/ Author: 僕の名前 <僕のメルアド>
| Date: Sun Feb 17 17:11:24 2019 +0900
|
| swp commit
|
* commit 1e18d76875063f058644bbc2083447bc95aae385 (SampleA)
| Author: 僕の名前 <僕のメルアド>
| Date: Thu Feb 14 21:41:36 2019 +0900
|
| テストコミット
|
| テストしたかったから。
|
* commit 1da12c37794122b58c6c099067c27249c38c24c1
Author: 僕の名前 <僕のメルアド>
Date: Thu Feb 14 21:28:47 2019 +0900
First commit
ハッシュ値が分かったので、引数に指定して実行してみる。
$ git reset --hard 8381fa57775415a1b8b39e841e987de678f8bf88
HEAD is now at 8381fa5 swp commit
logを確認してみる。
$ git log --graph
* commit 8381fa57775415a1b8b39e841e987de678f8bf88 (HEAD -> master)
| Author: 僕の名前 <僕のメルアド>
| Date: Sun Feb 17 17:11:24 2019 +0900
|
| swp commit
|
* commit 1e18d76875063f058644bbc2083447bc95aae385 (SampleA)
| Author: 僕の名前 <僕のメルアド>
| Date: Thu Feb 14 21:41:36 2019 +0900
|
| テストコミット
|
| テストしたかったから。
|
* commit 1da12c37794122b58c6c099067c27249c38c24c1
Author: 僕の名前 <僕のメルアド>
Date: Thu Feb 14 21:28:47 2019 +0900
First commit
指定した状態まで戻すことが出来た。
実はコンクリフトの発生まで実験していたのだが、うまく実験できなかった。
もう少し理解を深めてからコンクリフトの解消を実験できたら追加で投稿しようと思う。