はじめに
Gitを使用することが多くなり、非常に便利だと感じる一方で、コマンドやコマンドに伴う動きを理解しておかないと思わぬ事故の原因になると思い、備忘を兼ねて記事を書きます。
この記事では、Gitコマンドを使って変更を戻すという動きを整理します。
変更を戻したい時といっても以下のパターンが考えられ、それぞれ使用するコマンドも変わります。
git add
をする前git commit
をする前git push
をする前
上記3つについて解説します。
git add する前(変更内容を戻すだけ)
git checkout {ファイル名}
ファイルが複数ある場合は
git checkout {ファイル名1} {ファイル名2} ... {ファイル名n}
というように複数書くこともできます。
また、全てのファイルを戻したい場合は
git checkout .
で全て戻せます。
git commit をする前(ステージングを取り消す)
git reset {ファイル名}
これでgit add する前の状態に戻せます。変更も取り消したい場合は、このあとにgit checkout {ファイル名}
を実行します。
git push をする前(コミットを取り消す)
2つのコマンドが必要です。
git log --oneline
git reset --hard {コミットID}
git logで取り消したいコミットのコミットIDを確認します。その後、git reset –hardを実行します。
git log につけている –onelineは”ログを1行で表示する”というオプションです。個人的にはこのオプションを指定した方が見やすいのでおすすめです。
終わりに
Git操作をする際、CUIのコマンドからではなく、SourceTreeやエディタの拡張機能を使用する方も多いと思いますが、必ずしもツールが使えるとは限らないので、コマンドでのGit操作を覚えておくことに損はないかと思います。
コメント