ローカルコミットを行った後、ファイルを再度ステージ解除するにはどうすればいいですか? 質問する

ローカルコミットを行った後、ファイルを再度ステージ解除するにはどうすればいいですか? 質問する

次のコマンドを実行しました

git add <foo.java>
git commit -m "add the foo.java file"

ローカルコミットを削除して foo.java をステージング解除するにはどうすればよいですか?

と入力すると、変更した内容が元の内容にgit reset --hard戻ることがわかりました。foo.java

ベストアンサー1

git reset --soft HEAD~1は、希望どおりに動作するはずです。この後、最初の変更がインデックスに表示され ( で表示されますgit diff --cached)、最新の変更はステージングされません。git statusは次のようになります。

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   foo.java
#
# 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:   foo.java
#

その後、git add foo.java両方の変更を一度に実行してコミットできます。

おすすめ記事