コマンドプロンプトでHEAD^を打つとMore?と出る原因と対策

コマンドプロンプトでgitのHEAD^を打ち込んで実行すると、More?と聞かれてしまいます。

> git reset HEAD^
More?

この状態ではコマンドが実行できていません。

では、どうすればよいか原因とともに紹介します。

原因

コマンドラインを「^」ハット文字で終わらせると次の行でもコマンドライン(文字列)の続きと見なされるから。

したがって、More?では、コマンド(文字列)をまだ受け付けている状態で実行できていません。

解決方法

1.ダブルクォーテーションで囲む

More?と聞かれた時点でCtrl+Cでコマンドをキャンセルし、

HEAD^をダブルクォーテーションで囲んでコマンドを実行しましょう。

git reset "HEAD^"

そうすることで「^」文字を通常の文字として認識させています。

2.チルダを使う

HEADから1つ前のコミットを指定するだけの目的であれば、HEAD~でも同様な処理は可能です。

More?と聞かれた時点でCtrl+Cでコマンドをキャンセルし、

HEAD~で実行しましょう。

git reset HEAD~

以上で、コマンドプロンプトでgitのHEAD^を打ち込んだときに実行されないときの解決方法でした。

More?と出たときは驚きましたが、コマンドプロンプトの「^」ハット文字は、コマンド(文字列)を複数行にわたって入力する意味を持っていることを知らなかったため、勉強になりました。