目次
変更した作業を取り消して元に戻したい場合
Git管理上でファイルの変更をしたりうっかり上書きした際に、その変更を元に戻したケースがよくあります。そこで、「git add
をする前」「git add
をした後でgit commit
をする前」「git commit
をした後」で取り消し方が違うので、それぞれ解説します。
git add
をする前に取り消す
まずは、git add
をする前に取り消す方法。
特定の変更ファイルを対象に取り消すコマンド
git checkout 対象ファイル名
特定のディレクトリ以下の変更を再起的に取り消すコマンド
git checkout 対象ディレクトリ名
全ファイル・ディレクトリを対象に取り消すコマンド
git checkout .
git add
をした後でgit commit
をする前に取り消す
次にgit add
をした後でgit commit
をする前に取り消す方法です。基本的には、git add
をする前と同じように、対象ファイル・対象ディレクトリ・全ての対象ファイルとディレクトリごとに取り消すことができます。
特定の変更ファイルを対象に取り消すコマンド
git reset HEAD 対象ファイル名
特定のディレクトリ以下の変更を再起的に取り消すコマンド
git reset HEAD 対象ディレクトリ名
全ファイル・ディレクトリを対象に取り消すコマンド
git reset HEAD .
git commit
をした後に取り消す
最後にgit commit
をした後に取り消す方法です。
git上での変更のみ取り消しファイルシステム上のファイルはそのままにする方法
git reset --soft HEAD^
git上での変更取り消しとファイルシステム上でのファイル変更も取り消しする方法
git reset --hard HEAD^
HEAD^
は、HEADリビジョンの1つ前まで戻します。 特定のリビジョンまで戻すには、そのリビジョンのハッシュタグを指定します。git log -5 --pretty=oneline
で、ハッシュタグの一覧が表示されるので戻したいリビジョンを指定して戻します。
git reset --hard ハッシュタグ