間違えた!revertしよう!
Gitを使っていて、
『プルリクの向き先間違えてdevelopにしちゃった!』
『間違えてdevelop書き換えちゃった!』
ってときに、revertしました。
もとに戻ったように見えますが、何も考えてないと、後から思わぬ問題が起こったりします。
起こる罠。問題。
ブランチXで、AとBのコミットを作りました。
まだ途中なのに、developにブランチXを入れました。
危ない!って思って、
developでAとBのコミットをrevertしました。
Cのコミットが出来て、ブランチXが完成したのでdevelopにマージしたら……
あれ!?developにAとBがない!?
revertって?
バックリ言うと、該当の『commitの逆のcommitを作る』ことで打ち消すものです。
忘れちゃいけないのは、gitでのコミットは「コミット間での差分しか持たない」ので、 反対の差分を作ります。
消したなら作る、作ったなら消すというものがrevertです。
コミットAで「A」というファイルを作って、
コミットBで「B」というファイルを作って、
AとBをリバートすると、
「A」と「B」を消すというリバートコミットが出ます。
どうして問題が発生した?
ブランチXで作業してた人は、AとBがあるので、なんでdevelop行ったらファイルが消えているかわからない……
それは、ブランチXの人はrevertのcommitがないから気が付かないやつですね。
どうすればよかった?
【質問: アンケート】
— ういろう (@nyamucoro) 2020年4月13日
Gitを使っていて、
『プルリクの向き先間違えてdevelopにしちゃった!』
『間違えてdevelop書き換えちゃった!』
ってときに、皆さんはどのように対応しているでしょうか?(developはmasterと捉えても大丈夫です)
アンケートでも、票が割れているようです。
なので、正しい正解はわかりませんが、revertしたらrevertをrevertするのを忘れないようにしましょうφ(・・
あとは、プルリク建てるときに、ブランチXにdevelopを入れてからなら気づいたかもしれません。
ご注意を!