最近 git rebase -i で squash を実行すると、ヘッドが切り離されるのはなぜですか? 以前は、インタラクティブなリベースの結果で現在のブランチを更新していました。インタラクティブなリベースを取得して、切り離された HEAD への移動を停止するにはどうすればよいですか?
リモートリポジトリからプルする前に、常に git rebase -i を使用してコミットをスカッシュし、git プルからのマージ競合の処理を簡素化しています。潜在的に複数のコミットで競合を解決する代わりに、1 つのコミットのみを解決する必要があります。
私が使用するサンプルコマンド
# git rebase -i <tip of public branch> <my latest commit>
git rebase -i 380647533da 82f5ee67bed
vimでインタラクティブなリベースを編集した後:
pick 3ec7c211c49 version1
s 82f5ee67bed some significant refactoring
コミットを編集して保存した後の出力:
[detached HEAD ea50304796c] version1
Date: Thu Jun 6 17:04:36 2019 -0400
14 files changed, 213 insertions(+), 52 deletions(-)
create mode 100644 some file
create mode 100644 some file
create mode 100644 some file
Successfully rebased and updated detached HEAD.
これは、質問者がその 1 つのインスタンスの問題を解決する方法を知りたいため、同様のポストgit rebase -i development HEAD が Detached Head につながるのとは異なり
ます。答えはgit checkout -b branchName
です。この質問では、なぜそれが最近私に起こり始めたのか、そしてすべての将来のインスタンスでそれを解決する方法を知りたい.
これは、同様の投稿git rebase -i with squash cannot detach HEADとは異なります。could not detach HEAD