1. ホーム
  2. ギット

[解決済み】ローカルコミットした後、再び自分のファイルのステージを解除するには?

2022-03-26 12:11:24

質問

以下のコマンドを実行しました。

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

今ローカルにあるコミットを削除して、foo.javaをアンステージするにはどうしたらいいですか?

と入力すると git reset --hard を実行すると、変更した foo.java を元のものに戻す。

解決方法は?

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 を実行し、両方の変更を一度にコミットします。