回答:
「ブランチなし」状態は、デタッチされたヘッドと呼ばれます。これは、HEAD refがどのブランチにもアタッチされておらず、コミットを直接指しているため、これと呼ばれます。現在のHEADコミットを指すブランチにHEADをアタッチするには、を使用しますgit checkout -b branchname
。
既存のブランチを安全に更新して、次のシーケンスでHEADでのコミットを含めることができます。
git branch temp
git checkout branchname
git merge temp
git branch -d temp
または、同様にHEAD@{1}
、一時ログを作成する必要がないようにreflog表記を使用します。
git checkout branchname
git merge HEAD@{1}
マージをすぐに行わない場合は、一時的なブランチを使用することをお勧めします。
HEADでのコミットを指すように既存のブランチを強制的に上書きする場合は、を使用できますgit branch -f branchname && git checkout branchname
。HEADでのコミットがブランチ名の現在のヒントに基づいていない場合、これは通常回避したいブランチ名への非早送りの変更になります(リライト履歴と見なされます)。
git merge $COMMIT_SHA
一度行ったことを除いて、私は他のブランチにいました。