##やらかした(;´Д`)
プルリクエストを出してレビューしてもらったら
意味不明なコミットをプッシュしてしまっていた事が判明した経験ありませんか??
でも全然大丈夫
git マスター @sachin21 さん直伝の音速取り消し方法を記事化しておきます。
git初心者向けです
##まず取り消したいコミットのハッシュ値を確認
git log --oneline
って打つとわらわらコミットが出てくるのよ
3d62052 scopeを定義
6d10927 コメントを修正
72a4313 リファクタリング
24cfd5d コメント記入
76773f0 進捗を分けた
こんな感じに
今回は
6d10927 コメントを修正
を取り消す事にしましょう
このコミットのハッシュ値は
左側に書いてあった
6d10927 ですね
##revert
筆者はrebaseっていうのを使ってやろうとしていたんですが、それは良くないらしい。
詳しくは
http://www.karakaram.com/git-rebase-i-usage#remove
のリモートの共有リポジトリに push したコミットを rebase してはいけない
の部分を見てね
こういうケースはrevertを使うんだそう
git revert ハッシュ値
でvimが立ち上がるので、その後
:wq
って打ってenterで終了。
例で言うと
① git revert 6d10927
② :wq
##最後
以上の2コマンドで
新しいコミット(コミットを取り消すコミット)が出来るので、あとはそれをプッシュするだけ
あらかんた〜〜ん
というわけでプッシュしたコミットを取り消す方法でした。
##P.S
追記です。
どうやらこの方法は、
コミットを取り消すコミット
を作成するので、コミット数が増えるという点で美しくないみたいですね。
rebaseを使う人も全然いるみたいです。