次のコマンドを使用して、誤って Git にファイルを追加しました:
git add myfile.txt
まだ実行していませんgit commit
。これらの変更がコミットに含まれないようにするには、これを元に戻すにはどうすればよいですか?
ベストアンサー1
特定のファイルをステージ解除するには
git reset <file>
これにより、他の何も変更せずに、現在のインデックス (「コミット予定」リスト) からファイルが削除されます。
現在の変更セットからすべてのファイルをステージング解除するには:
git reset
Gitの古いバージョンでは、上記のコマンドはそれぞれ およびgit reset HEAD <file>
と同等でありgit reset HEAD
、 が定義されていない場合HEAD
(リポジトリにまだコミットを行っていないため)または が曖昧な場合( というブランチを作成したためHEAD
、これは行うべきではない愚かなことです)には失敗します。Git 1.8.2で変更されましたただし、Git の最新バージョンでは、最初のコミットを行う前でも上記のコマンドを使用できます。
「git reset」(オプションやパラメータなし)は、履歴にコミットがない場合にエラーを出力していましたが、現在は空のインデックスが提供されます(存在しないコミットに一致するため、現在実行していないコミットにも一致します)。
ドキュメンテーション:git リセット