$ git add -i
staged unstaged path
1: unchanged +4/-4 sample-project/src/main/java/sample/Sample.java
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 2
#ここで何を実行したいかを選ぶ。
staged unstaged path
1: unchanged +4/-4 sample-project/src/main/java/sample/Sample.java
Update>> 1
#対象のファイルを選ぶ
staged unstaged path
* 1: unchanged +4/-4 sample-project/src/main/java/sample/Sample.java
Update>>
#ファイルを選んだらそのままエンター
updated one path
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 1
#Statusでファイルの状態を確認
staged unstaged path
1: +4/-4 nothing sample-project/src/main/java/sample/Sample.java
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 7
#処理を終わる。
Bye.
あとは、いつも通りCommit/Pushで終わり。
複数ファイルの操作と、対象外にしたいファイルが存在する場合、revertする場合など、
結構便利です。