不要な差分をgit addにてstagingに追加してしまった場合は、git restoreを使うことで、stagingから取り除くことができます。
以下のコマンドにて、a.txtを編集し、stagingに追加しましょう。
git statusにてstagingに追加されていることが確認できるかと思います。
ここで、git restore --stagedを使います。git addと同様に、特定のファイルのみを指定できますし、.(ドット)にて、stagingにある全てのファイルを指定することができます。
git restore --staged a.txt
git statusにて確認すると、stagingから取り除かれたことが確認できるかと思います。
また、commitを取り消したい場合もgit restoreを使用します。まずは、上記の変更をgit add、git commitしましょう。
メッセージは以下とします。
上記のcommitを取り消したい場合は、二種類の方法があるのですが、
1つ目は、commit自体を削除する方法で、こちらはgit resetを使うことでできますが、今回は紹介しません。
2つ目はcommitを打ち消すようなcommitを作成する方法で、こちらをやっていきます。
以下のコマンドを叩きます。--sourceオプションにて、HEAD^と指定していますがここでは詳しくは説明しません。要は直前のcommitを指定していると思ってください。
そして、そのcommit時点のすべてのファイルを指定するため、.(ドット)と記載します。
上記のコマンドにて、上記で追加したテキストが削除された状態になったかと思います。
こちらをgit add、git commitしていきましょう。
メッセージは以下とします。commitを打ち消すようなcommitを作り、versionを元に戻すことをrevertと言います。