スポンサーリンク

特定のファイルを指定してgit add を取り消す

下記の形式で、特定のファイルを指定してgit add を取り消すことができます。

$ git reset tmp3.txt

例えば、カレントディレクトリ以下をgit addします。
参考:カレントディレクトリ以下を再帰的にgit addする

 $ git add .
 $ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   dir001/file003.txt
	new file:   dir001/tmp5.txt
	new file:   tmp3.txt
	new file:   tmp4.txt
	new file:   tmp6.txt

tmp3.txtのみgit addを取り消します。
 $ git reset tmp3.txt
 

git statusすると、tmp3.txtがインデックス登録から外れているのが確認できます。
 $ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   dir001/file003.txt
	new file:   dir001/tmp5.txt
	new file:   tmp4.txt
	new file:   tmp6.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	tmp3.txt

スポンサーリンク

特定のディレクトリを指定してgit add を取り消す

下記の形式で、特定のディレクトリを指定してgit add を取り消すことができます。

$ git reset HEAD dir001/

dir001以下のgit addを取り消します。

 $ git reset HEAD dir001/
Unstaged changes after reset:
M	dir001/file003.txt

git statusすると、dir001以下がインデックス登録から外れているのが確認できます。
 $ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	new file:   tmp4.txt
	new file:   tmp6.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   dir001/file003.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	dir001/tmp5.txt
	tmp3.txt

git addでインデックスに登録した全てのファイルを取り消す

下記の形式で、git addでインデックスに登録した全てのファイルを取り消すことができます。

 $ git reset HEAD

実際に実行してみます。

 $ git reset HEAD
Unstaged changes after reset:
M	dir001/file003.txt

git statusすると、残りの全てのファイルのgit add を取り消すことができました。
 $ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   dir001/file003.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	dir001/tmp5.txt
	tmp3.txt
	tmp4.txt
	tmp6.txt

no changes added to commit (use "git add" and/or "git commit -a")

スポンサーリンク