#はじめに
Gitを少しずつ使えるようになってくると、間違ってmasterにプッシュしてしまって焦ったり。
『あそこのコミットまで戻りたい〜〜』って事があるんですよね。
そんな時のためのコマンド集です。
#良く使うコマンドたち
#<修正系>
##●あそこのコミットしたところまで戻りたい!!
$ git log
commit: ここの部分の『ハッシュ値』を使う
Author:ーーーーーーーーーーーー
Date:ーーーーーーーーーーーーー
$ git reset --hard ハッシュ値
このコマンドでは、--hard
とありますが、『HEADの位置、インデックス、ワーキングツリー』の全てが指定したハッシュ値のコミットまで戻ってしまいますので注意!
これで、晴れて、戻りたいコミットに戻れます!
##●取り消したコミットを取り戻す
コミット履歴はgit log
で確認できますが、消してしまったコミットはgit log
で確認できません。
その場合は、
$ git reflog
ハッシュ値 HEAD@{1}: commit: First commit
で、取り消したコミットの履歴を確認する事ができます。
$ git reset --hard ハッシュ値
これで、戻りたいコミットへ戻す事ができます。
##●間違ってmasterにプッシュしてもた!ヤバイ
戻す方法は、
$ git push -f origin 0830890ae0:master
この修正方法は、ローカルの変更内容はそのままで、 リモートにプッシュした内容を削除しています。
-fで強制的にmasterを0830890ae0の状態へ戻しています。
元の状態に戻りました!
##●コミットメッセージ、間違えた。。
$ git commit -m 'I like Wasabi'
いやいや、サビ抜きしか無理です。間違えた。どうしよう。
メッセージを変えるために、もう一度コミット??
いやいやそんな、必要はないはず。
こんな時はですね。
$ git commit --amend -m "I don't like Wasabi"
これで、メッセージだけ変更できました。
amendですがpushした後でも変更はできるのですが、pushの前に変更しておくのが無難です。
#<作成>
##●ブランチを作りましょう!
$ git branch <branchname>
ブランチnameを指定することでブランチを作成できます。シンプルですね。
ついでに言うなら、ブランチnameを指定せずに$ git branch
コマンドだけだと現在のブランチを確認できます。
$ git branch
babashoya
* master
*がついているのが現在のブランチですね。
#<取り消し系>
##●リモートのブランチ。一回消そう
$ git push --delete origin <branchname>
リモートブランチを触ることになるので、多発はしないほうがいいかもですね。
間違ってでも、masterブランチは消さないでくださいね。笑
##●直前のコミットの取り消し
$ git reset --hard HEAD^
・HEAD^
:直前のコミットのこと。
また、HEAD^
の代わりに、ハッシュ値を打てば、指定されたコミットが打ち消される。