1. ホーム
  2. ギット

[解決済み】GitのHEADとORIG_HEAD

2022-04-28 09:15:08

質問

これらの記号は何を指し、何を意味するのでしょうか?

(公式ドキュメントには説明がありません)

解決方法は?

HEAD は、現在のコミットへの(直接または間接的な、つまりシンボリックな)参照です。これは、作業ディレクトリで確認したコミットであり、(何か変更を加えたか、それに相当するものを除いて) "git commit" が新たに作成するコミットの上位にあるものです。通常 HEAD は、他の名前のついたブランチへのシンボリックな参照です。このブランチは、現在チェックアウトされているブランチ、あるいは現在のブランチです。 HEAD この状態は "detached HEAD" と呼ばれ、無名の匿名ブランチにあるものとして理解されることがあります。

そして @ のショートカットです。 HEAD Git 1.8.5 以降

ORIG_HEAD の前の状態です。 HEAD 危険な振る舞いをする可能性のあるコマンドで設定され、簡単に元に戻せるようにするためです。Gitにreflogが搭載された今、これはあまり役に立ちません。 HEAD@{1} とほぼ同等です。 ORIG_HEAD ( HEAD@{1} の最後の値は常に HEAD , ORIG_HEAD の最後の値です。 HEAD 危険な操作の前)。

詳しくは、以下をご覧ください。 git(1) マニュアルページ / [gitrevisions(7) manpage][git-revisions], Git ユーザーズマニュアル は、その Gitコミュニティブック および Git用語集