[Git]変更を元に戻す方法
GitをGUIを使わずにターミナルから操作する方法のまとめです。
開発をしていて、変更を元に戻したいというケースの操作を紹介します。
インストールからコミット、ブランチなどはこちらの記事を参考にしてください。
[Mac]Gitをインストールしてターミナルから操作する。リポジトリ作成から最初のコミットまで
[Mac]Gitをターミナルから操作する。ブランチを作成→チェックアウト→マージまで
下ごしらえ
紹介前に下ごしらえの準備を。testというディレクトリを作成し、index.htmlというファイルを作成→add→コミットします。
mkdir test git init cd test echo 'Hello Git' > index.html git add index.html git commit -m 'first commit'
addする前の変更を戻したい
ここでindex.htmlファイルをいじってみます。適当なエディタで編集してください。
Hello Git Hello World ←追加
ここでaddする前に変更を元に戻したい場合は以下のコマンドとなります。
git checkout index.html
これでファイルを確認してみてください。追加分のHello Worldが消えていると思います。
今回は特定ファイルのみ指定しましたが、addする前の変更を全て戻したい場合は
git checkout .
これで変更が全て無しになります。
1つ前のコミットに戻したい
次に変更をaddしてコミットした場合、1つ前のコミットに戻したい場合を紹介します。
もう一度、index.htmlを変更します。
Hello Git Hello World ←追加
これをadd→commitとします。
git add index.html git commit -m 'second commit'
これでindex.htmlファイルの中身は、
Hello Git Hello World
になっていると思います。これを1つ前のコミットに戻し、Hello Gitのみにします。
git reset --hard HEAD^
HEAD^は1つ前のコミットを指します。