Help us understand the problem. What is going on with this article?

zshだとgit reset HEAD^とか、とにかく「^」が使えない。そんなとき。

More than 1 year has passed since last update.

解決法

zsh-git-escape-magicを使う。

@quenhuluさんからのご紹介です。導入も簡単でとても便利です。ありがとうございます!

zsh-git-escape-magic を使うと ^ などが自動でエスケープされます。
https://github.com/knu/zsh-git-escape-magic

その他

エスケープする。

バックスラッシュ

% git reset HEAD^
# => zsh: no matches found: HEAD^
# お好きなものを
% git reset HEAD\^
% git reset --soft HEAD\^
% git reset --hard HEAD\^
% git reset HEAD\^\^
% git reset HEAD\^\^\^
# ・・・

クォート

@hage@githubさんからのご紹介です。キャレット(^)が多い時に見やすくて有効ですね、ありがとうございます!

エスケープする方法の他にクオートする方法があります。
% git reset 'HEAD^'

HEAD@に置き換えれる

こちらも@hage@githubさんからのご紹介です。git 1.8.5よりHEADのエイリアスとして@が使えるようになったようです。タイプ数が3も減るのは素晴らしいですね。ありがとうございます!

それとどのバージョンからか忘れましたが、HEADのエイリアスとして@が用意されました。以下の二つは同じ意味です。
% git reset 'HEAD^'
% git reset '@^'

こんな方法も。

zsh の exntended_glob と HEAD^^^ を共存させる。 - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech

原因

便利なextended_globオプションが原因。
setopt extended_glob のようにextended_globオプションをセットしていると起きてしまう。
extended_globにおいて^はパターン否定。
他にもいろいろあるです。

例)拡張子がtxtでないものをls
% ls
# => tororo.txt  tororo_dir/ totoro.txt  totoro_dir/
#     ~/lsls

% ls ^*.txt
# => tororo_dir:
#    
#    totoro_dir:
#     ~/lsls
hirokishirai
Twitter: @dev_lassi Github: https://github.com/hirokishirai 強化学習を用いたFXシストレ奮闘中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした