为什么最近使用git rebase -i时会导致分离头?它曾经可以使用交互式rebase的结果更新当前分支。如何让交互式rebase停止进入分离HEAD状态?
我一直在使用git rebase -i来压缩我的提交,以便在从远程仓库拉取之前简化处理任何合并冲突的操作。这样,我只需要解决一个提交而不是多个提交可能导致的冲突。
示例命令
在使用vim编辑交互式rebase之后:
我一直在使用git rebase -i来压缩我的提交,以便在从远程仓库拉取之前简化处理任何合并冲突的操作。这样,我只需要解决一个提交而不是多个提交可能导致的冲突。
示例命令
# git rebase -i <tip of public branch> <my latest commit>
git rebase -i 380647533da 82f5ee67bed
在使用vim编辑交互式rebase之后:
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.
这与类似的帖子git rebase -i develop HEAD leads to Detached Head不同,因为提问者想要了解如何解决那个“单一”的问题。答案是git checkout -b branchName
。在这个问题中,我想知道为什么最近开始发生这种情况,以及如何解决所有未来的情况。
这与类似的帖子git rebase -i with squash cannot detach HEAD不同,因为那里的错误信息是could not detach HEAD
git rebase -i a b
而不是只用git rebase -i a
。 - joseph