ローカルのgitコミットをキャンセルするには?質問する

ローカルのgitコミットをキャンセルするには?質問する

私の問題は、たとえば README などのファイルを変更し、新しい行「this for my testing line」を追加してファイルを保存した後、次のコマンドを発行したことです。

git status

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   README
#
no changes added to commit (use "git add" and/or "git commit -a")


git add README

git commit -a -m 'To add new line to readme'

コードを GitHub にプッシュしませんでした。このコミットをキャンセルしたいと思います。

これには、

git reset --hard HEAD~1

しかし、 README ファイルから新しく追加された行「this for my testing line 」が失われました。これは起こるべきではありません。コンテンツがそこに存在する必要があります。コンテンツを保持してローカル コミットをキャンセルする方法はありますか?

ベストアンサー1

git resetフラグなしで使用してください--hard:

git reset HEAD~1

HEAD^PS: Unix ベースのシステムでは、 と等しい を使用できますHEAD~1。Windows では、は行継続を示すHEAD^ため機能しません。そのため、コマンド プロンプトでは と尋ねられます。^More?

おすすめ記事