Git 超初心者は間違った操作を戻せない

  だいぶ勉強して使いこなせる気がしてきた時、初心者は事故を起こす。

 

  2件の変更作業があった。1件ずつ作業してコミットすればいいんだけど、2件目の修正内容によって1件目も直すかもしれない。そこで、ベースとなるブランチを元に2つの別々のブランチを作成し、平行して作業を進め、最後にマージするという方法を試してみた。

 

  今日の勘違い。No1ブランチで作業終わり、No2ブランチで作業するためにチェックアウト。No2はNo1の作業の内容が反映されないで、元のブランチの状態で・・・と思ったら、No1の内容が既に反映されている。なぜ?

 

  No1でコミットをしておけば問題ないけど、コミットをしないとその内容を引き連れてチェックアウト先のブランチに移動するらしい。もし、No2出先に修正していて、同じ箇所で競合が起きる場合はstashという一時保存機能で作業内容が保持されるみたい。

 

 

  次、間違えてコミットした。コメント内容を間違えたので、コメントだけ直したい。SourceTree上で問題のコミットを右クリックすると「コミットを取り消す」というメニューあり。これだろ、きっと。「Revert」になった。そして、編集内容が消えた・・・。ころす。

 

   RevertはPushしてしまったコミットは無かったことにできないので、「コミットを無かったことにするコミット」を作り出すとても便利な機能、らしい・・・。意味がわからん。俺の作業を返せ。

 

  一つ前の間違えたコミットを右クリックして、「現在のブランチをこのコミットまでリセット」をクリックすると戻った。一言で書いてるけど、なんだかんだで1時間位悩んだ。で、コミットのコメントを直すなら、コミットのボタンを押し、「コミットのオプション」(今使ってるバージョン1.6.13.0では画面の右下の方)で「最後のコミットを上書き(Amend)」をクリックして、コメントを書きなおしてコミットすればいいことがわかった。

image

 

  このサイトの説明が初心者にはありがたい。

【git】SourceTreeで解説!間違えたときのgitコマンドとやり方

 

  やっぱり、コマンドベースのgitから勉強しないと、本当の理解ができてない。自分がしたいことがなんの操作に該当してるのかわかってなくて、へんなことをしてしまう。