1. ホーム
  2. git

[解決済み] ローカルの git コミットをキャンセルする方法は?

2022-03-20 15:02:30

質問

私の問題は、例えば、あるファイルを変更したことです。README を変更し、新しい行を追加しました。 これは私のテスト行です と入力して保存した後、以下のコマンドを実行しました。

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ファイルから削除しました。 これは起こってはならないことです。コンテンツが必要なのです。 内容を保持したまま、ローカルコミットをキャンセルする方法はありますか?

解決方法は?

ただ git reset を使わずに --hard のフラグを立てます。

git reset HEAD~1

追記:Unix ベースのシステムでは HEAD^ と同じです。 HEAD~1 . Windowsでは HEAD^ は動作しません。 ^ は行の継続を意味します。そのため、コマンドプロンプトは単に More? .