gitで分離されたHEADについての私の理解:ブランチを作成せずに古いバージョンのコードをチェックアウトしました。新しいコードをコミットしようとすると、古いバージョンに戻るリンクを持つ新しいコミットが作成されますが、それはあなたの頭です。 「切り離された」部分は、新しいコミットの存在を示すブランチがないため、変更を失ったという事実を指します。新しいものをコミットすると、新しい新しい変更がログに表示されますが、古い変更は反映されません。うん、私は混乱している。イラスト:1エントリーのgit repoはどのようにして分離頭部状態になりますか?
A->B(HEAD)
'git checkout A'
A (DETACHED HEAD)
'write a video game'
'git commit'
A->C(HEAD)
/// And B is lost unless you know how to scour the raw git objects for trees
今ここに私のレポのステータスです:
? git log --all --oneline --graph --decorate
* 3c43b31 (HEAD, master) Original site files
? git status
HEAD detached at 3c43b31
Untracked files:
(use "git add <file>..." to include in what will be committed)
page.html
page.css
告白:「チェックアウトを」これは私が使用してコミット、既存のものに戻ってすべての私の変更を元に戻す試みた直後の状態です'checkout 3c43b31'を使用していますが、どちらもうまくいきませんでした。
質問:なぜHEADを取り外すのですか?唯一のコミットがあり、我々はそれに座っている。
質問:私のチェックアウトはなぜ機能しませんでしたか?