dev.toihrk.me

Gitで誤ってaddしたファイルをステージ対象から取り除く

Gitはworking directory, staging area, git directory (repository)という概念があり、これによりプロジェクトを管理してる。

Local Operations 作業ディレクトリ、ステージング・エリア、Gitディレクトリ

画像引用: Git - Gitの基本

working directoryで作業を行い、staging areaで次のコミットにどんな変更が含まれるかという情報を蓄積し、コミットによりスナップショットをgit directoryに格納する。

working directoryからstaging areaにファイルを追加する際、普通以下のようにする。

$ git add <File or Directory>

ここで誤って次のコミットに含めないファイルをステージングしてしまったとき以下のようにしてstaging areaから除外する。

$ git reset HEAD <File or Directory>

除外されたファイルは変更された状態のまま、staging areaから除外される。

そもそもステージングしてしまったファイルを全てstaging areaから除外したいときは以下のようにする。

$ git reset HEAD