Git の HEAD と ORIG_HEAD について質問する

Git の HEAD と ORIG_HEAD について質問する

これらの記号は何を指し、どのような意味を持つのでしょうか?

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

ベストアンサー1

HEAD現在のコミットへの (直接的または間接的、つまりシンボリックな) 参照です。これは、作業ディレクトリでチェックインしたコミットであり (変更などを行った場合を除きます)、その上に "git commit" によって新しいコミットが作成されるコミットです。通常は、HEAD他の名前付きブランチへのシンボリックな参照です。このブランチは現在チェックアウトされているブランチ、つまり現在のブランチです。HEADコミットを直接指すこともできます。この状態は "分離した HEAD" と呼ばれ、名前のない匿名ブランチにあると理解できます。

と単独では、Git 1.8.5以降、@のショートカットになります。HEAD

ORIG_HEADは、危険な動作をする可能性のあるコマンドによって設定される、の以前の状態ですHEAD。Git に reflog があるため、あまり役に立ちません。 は、HEAD@{1}とほぼ同等ですORIG_HEAD(HEAD@{1}は常に の最後の値でありHEAD、は危険な操作の前の のORIG_HEAD最後の値ですHEAD)。

詳細については、git(1) マニュアルページ/ [gitrevisions(7) マニュアルページ][git-revisions],Git ユーザーマニュアルGit コミュニティブックそしてGit 用語集

おすすめ記事