はじめに
プロジェクト管理ツールとして、Gitを使用すると、ユーザーはプロジェクトにコミットする前に変更のグループをキューに入れることができます。このキューはインデックスと呼ばれ、ファイルはコミットされる前に削除される場合があります。
このガイドでは、gitのステージング領域からファイルを削除/ステージング解除する方法を説明します。

前提条件
- Gitの既存のインストール
- Gitプロジェクト
- ターミナルウィンドウ/コマンドライン
- Linux:アクティビティ>検索>ターミナル
- Windows:右クリック 開始>コマンドプロンプト(またはWindows PowerShell)
Git上のすべてのファイルのステージングを解除する
ステージングインデックスからすべての変更を削除するには、次のコマンドを入力します。
git reset
これにより、ステージング領域からすべての変更が削除されます。ファイルは削除されません– git add
コマンドを使用して、変更をステージングインデックスに再度追加できます。

ステージングインデックスは.git/ indexにあります 。 Gitコミットプロセスの途中に収まります:
- ファイルはプロジェクト開発中に作成または変更されます
- ユーザーは、インデックスで一緒に公開する変更を決定します
git add
を使用する コマンド - ユーザーコミット 名前と説明の下でのこれらの変更
git reset
コマンドは、インデックスをワイプするために使用されます クリーンアップして最初から変更を追加します。
単一のファイルまたはディレクトリのステージングを解除する
git reset
コマンドは、単一のファイルまたはディレクトリに送信できます。
たとえば、次のコマンドを使用します。
git reset location/of/file.ext
git reset directory/location

.gitignoreファイルの使用
.gitignore fileは、プロジェクト内の任意のディレクトリに追加できるファイルです。これは単純なテキストファイルであり、追加されたものはステージングされたり、コミットに含まれたりすることはありません。
テキストエディタを使用して、 .gitignoreを作成します プロジェクトディレクトリ内のファイル。次に、ファイルを編集して、コミットから除外するアセットの名前を追加します。
たとえば、開発ログファイルは通常、コミットに含める必要はありません。これらは、名前で .gitignoreに追加できます。 ファイル。
コミットされたファイルのステージング解除
git reset
コマンドを使用すると、すでにコミットされているファイルやディレクトリを変更できます。
コミットのステージングを解除するための基本的なコマンドは次のとおりです。
git reset [option] [commit]
[option]
で 実行するリセットのタイプを指定します。 [commit]
で リセットするコミットの名前を指定します。
Unstage Commmits Soft
次のコマンドを使用して、ソフトアンステージを実行します。
git reset --soft [commit]

ソフト リセットには次の効果があります:
- 参照ポインタを更新します
- ステージングインデックスは変更されていません
- 作業ディレクトリは変更されていません
Unstage Commits Hard
次のコマンドを使用して、ハードアンステージを実行します。
git reset --hard [commit]

ハード リセットには次の効果があります:
- 指定されたコミットへの参照ポインタを更新します
- ステージングインデックスは、指定されたコミットに一致するようにリセットされます
- 作業ディレクトリは、指定されたコミットに一致するようにリセットされます
- 作業ディレクトリとステージングインデックスで保留中の変更はすべて失われます
混合アンステージオプション
オプションが指定されていない場合、 git reset
コマンドは混合を実行します アンステージ:
git reset --mixed [commit]
または
git reset [commit]

これには次の効果があります:
- 参照ポインタを更新します
- ステージングインデックスを指定されたコミットにリセットします
- ステージングインデックスから戻された変更は、作業ディレクトリに移動されます