[Git]変更を元に戻す方法

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つ前のコミットを指します。



カテゴリー