Gitでやらかしたときに使うコマンド集


みなさま、こんにちは!
株式会社ホワイトボードのフロントエンジニアの末ちゃんこと、末吉です。

先日から続いているGitのお話、このままちょっと続けちゃおうと思います。
今回はGitの操作にミスったとき、やらかしたときに使えるコマンドを紹介します。
実際の運用方法などについては下記サイトをご覧ください。

サルでも分かるGit

Gitを運用することで大事なこと

それは、作業ログを明確に残すことです。
例えばトップページ(index.html)の 写真を差しかえる というのと テキストを置き換える というチケットがあったとします。
そしたら以下のようにコミットメッセージを残すべきです。

「index.html 修正
- 写真の差しかえ
- テキストの置き換え」

つまり、何に対してどのようなことを行ったのか、一目でわかるようにするべきです。

というのも、GItを運用するその意味は、差分のミスをなくすことと、
いつ誰が何をしたかというのを明確に記録することだからです。

たとえば、以下のようなコミットメッセージは最悪です。

「いろいろ修正」

これじゃあとでログを見てみても、自分ですら訳が分かりません。

でもやらかしちゃうことありますね

でもやらかしちゃうことあると思います。
うっかりミスってメッセージをしちゃった・・・。とか、
むしゃくしゃして変更を「いろいろ変更」としてメッセージにしちゃった・・・。とか、

そんなときに使えるGitのコマンドを自分の備忘録かねて記録しておきたいと思います。

コミットメッセージを直したいとき

コミットメッセージに恥ずかしい言葉を入れてしまった場合、以下のコマンドで書き直せます。

$ git commit —amend

ステージに追加し忘れたファイルを、既にコミットしたステージに追加したいとき

さっきのコミットにこのファイルも追加しておかなければいけなかった!
そんなときは以下のコマンドで追加できます。さっきのコミットメッセージのやり直しと一緒ですね。

$ git add <ファイル名>
$ git commit —amend

誤って削除してしまったファイルを戻したいとき

$ git checkout HEAD — <ファイル名>

直前のコミットまで戻したいとき

うっかりブランチを切り忘れたとか、
そもそも訳の分からない修正してしまって、今の変更全部なしにしたいときはこちら。

$ git reset —hard HEAD~

誤ってマージしてしまい、元に戻したいとき

masterに誤ってマージしちゃったときや、大量のコンフリクトでやばいことになったときなど
このコマンドでマージを無かったことにできます。

$ git reset —hard ORIG_HEAD

他にも色々なコマンドがありますが、大体この辺があればなんとかなると思います。

これらのコマンドを使う前に

私たちITの仕事、特に恐らくコーダーの方などはよく理解いただけると思うんですが、
文字の羅列によって誰もが理解できるビジュアルに起こしていかなければなりません。
大工が木を加工するのは目と体で感じながら加工できると思うんですが、
コードは目で見て、頭でそのコードを走らせビジュアルに起こすイメージをしながら書かねばなりません。

ですのでどうしてもイメージと違う動き(例えばその言語のバグや予想しきれない影響)などが起きたり、
トラブルに捕らわれて大変なことになることは多いと思います。

しかし、ミスをすること自体を無くすよう努めなければいけません。
自分がこれらGitの「取消」しちゃうコマンドを使わないですむよう精進していきたいと思っています。

それではまた来週お会いしましょう!

Share Button