私の問題は、ファイルを変更したことです。例: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」を失いました。これは起こらないはずです。そこにコンテンツが必要です。コンテンツを保持してローカルコミットをキャンセルする方法はありますか?
git-commit
メッセージを空白のままにすると中止できるため、実際にコミットを完了していない場合に役立つ可能性があることを言及する価値があるかもしれません。
git revert
、これは元に戻されたコミットとは逆の差分で新しいコミットを作成します。リセットすると、現在のブランチが別のコミット(この場合は、「忘れる」前のコミット)を指すようになります。