1. ホーム
  2. git

[解決済み] Git の detached head を修正するにはどうすればよいですか?

2022-03-16 15:31:51

質問

リポジトリで作業していたところ、あるファイルにローカルな変更があることに気づきました。もういらないので、新しいコピーをチェックアウトすればいいと思い、そのファイルを削除しました。Gitでいうところの

svn up .

使用方法 git pull はうまくいかなかったようです。適当に検索していたら、あるサイトにたどり着きました。

git checkout HEAD^ src/

( src は削除されたファイルを含むディレクトリ)。

今、私は頭が切り離されていることに気づきました。それが何なのかさっぱりわかりません。どうすれば元に戻せるのでしょうか?

解決方法は?

Detached head とは、もはやブランチにはおらず、履歴の中のひとつのコミット(この場合は HEAD より前のコミット、つまり HEAD^)をチェックアウトしたことを意味します。

もし、あなたが 削除 デタッチされた HEAD に関連する変更

自分がいたブランチをチェックアウトするだけで、例えば

git checkout master

次に、ファイルを変更し、インデックスにある状態に戻したい場合は、まずファイルを削除せず、次のようにしてください。

git checkout -- path/to/foo

これにより、ファイルfooはインデックスにある状態に復元されます。

もし、あなたが 保つ デタッチされたHEADに関連するあなたの変更

  1. 実行 git branch tmp - という名前の新しいブランチに変更を保存します。 tmp .
  2. 実行 git checkout master
  3. に変更した内容を反映させたい場合。 master を実行します。 git merge tmp から master ブランチを作成します。あなたは master ブランチを実行した後 git checkout master .