LoginSignup
0
0

More than 3 years have passed since last update.

revert -mオプション!!!

Last updated at Posted at 2018-09-21

あ、やべ。変なとこにコミットマージしちゃった。って時に、やり直したいなぁ、と。
ざっくりと、やり直したいところまで戻れるという事は聞いていたのでやってみた。
そこで行き詰った「このコミットを取り消す」。

私はGitをコマンド入力ではなく、Source Treeを使って操作しています。

名称未設定-1.png

戻りたいコミットの所で右クリック(Windowsの場合)して「このコミットを打消し...」を選択・実行するだけなんだけどもなんとエラーが!


error: Commit xxxxx is a merge but no -m option was given.
fatal: revert failed

(スクショ撮るの忘れた)

mオプションが指定されてませんよ。してください。みたいな内容。
mオプション?revert -mオプションて何や?という事で調査。

どうやらRevert(既存のコミットを元に戻すためのコマンド)をつかってコマンド入力でやるしかないらしい(..ざわ..ざわ...)


$ git revert -m 1 xxxxx

無事、戻る事ができました:clap:。(もちろん誰かに見てもらいながら:baby:

-m オプションとはメインラインの事で、通常はそちらを指定しておけば大丈夫との事。

git showコマンドやgit logコマンドで親の数字が確認できる(知らなかった)。


$ git show
commit xxxxx (HEAD -> ブランチ, origin/ブランチ)
Merge: aaaaa bbbbb
Author: 自分
Date:   Thu Dec 10 16:19:52 2020 +0900

とはいえ、1とか2のどっちを指定するのが正しいのかは、分かっていないと大惨事になりかねないので、基本的なブランチだとかコミットだとかの概念に戻り復習。
こちらのサイトが分かりやすかったです(https://backlog.com/ja/git-tutorial/stepup/stepup7_2.html)
Source Treeを使うと視覚的にできてしまって、なかなか基本的な部分で「分かった気になる」のでダメですよね。反省:persevere:

弊社はブランチ並行して行う事が多く、毎回「面倒な事起こるなよぉ~・・・」と祈りながら進めています。

Gitって説明だけ聞いてると、何が便利なんだろう?むしろめんどくさいんじゃん、って思ってた。
けど、履歴が終えたり大量のデータを軽く保存できたり、同時並行の作業ができたり。
使い方によっては便利ですね。
「バカとハサミは使いよう」って母さんと婆っちゃが言ってた。

コミットを元に戻すのに参考にさせていただいたサイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0