1. ホーム
  2. git

[解決済み] Gitにおけるキャレット(^)の意味とは?

2022-05-04 17:47:49

質問

を見ました。 質問に対する回答 は、git で削除されたファイルを復元するのに役立ちます。

解決策は

git checkout <deleting_commit>^ -- <deleted_file_path>

キャレット文字( ^ をご覧ください。gitでとても便利なことをやっているのを他で見たことがあります。魔法のようです。誰かネタバレして、何をするのか教えてください。

どのように解決するのですか?

HEAD^ は、現在のブランチの先端の最初の親を意味します。

gitコミットは複数の親を持つことができることを覚えておいてください。 HEAD^HEAD^1 というアドレスも可能です。 HEAD^2 などを適宜選択してください。

に限らず、あらゆるコミットの親を取得することができます。 HEAD . また、世代を遡ることもできます:例えば master~2 は master ブランチの先端の祖父母を意味し、あいまいな場合は最初の親を優先します。これらの指定子は任意に連結することができます。 , , topic~3^2 . の関連する回答を参照してください。 とはどう違うのですか? HEAD^HEAD~ をGitで使うのですか?

詳細については "リビジョンの指定" のセクションを参照してください。 git rev-parse --help .