我正在尝试通过运行git rebase -i HEAD~3
(使用“nano”编辑器)然后将该提交的默认pick
选项更改为r
或reword
(在初始rebase文件窗口上)来改写倒数第二次提交以修复输入错误的项目,而且,不修改任何其他内容。如果有用,我在master
分支上这样做。
一旦我保存文件,Git,而不是像往常一样向我显示下一个rebase窗口为该提交选择一个新名称,它将自己放入并通知我一个具有该提交的分离的HEAD状态,这也显示在git status
上从那时开始的命令,直到我输入git checkout master
。
无论我尝试多少次,都会发生同样的事情。
附加说明:我之前通过运行单个命令:git config --global core.editor nano
将已使用的编辑器更改为“nano”
编辑:根据要求,这是我保存TODO列表时Git给我的消息:
adrian $ git rebase -i HEAD~1
注意:退房'da91bbcedc78cb2ebcaa9dc51f38c8d0a550195d'。
你处于“独立的HEAD”状态。您可以环顾四周,进行实验性更改并提交它们,并且您可以放弃在此状态下进行的任何提交,而不会通过执行另一次检出来影响任何分支。
如果要创建新分支以保留您创建的提交,可以再次使用-b和checkout命令(现在或稍后)。例:
git checkout -b
HEAD现在在da91bbc ...测试消息
此存储库是为Git LFS配置的,但在您的路径中找不到“git-lfs”。如果您不再希望使用Git LFS,请删除.git / hooks / post-checkout以删除此挂钩。无法分离头部
此时运行git rebase --continue
后的输出:
没有任何进展?
将edit
放入交互式rebase的待办事项文件时,通常会显示分离的HEAD消息。你必须错误地把edit
放在那里而不是reword
。或者由于输出中发现错误,Git可能已进入此模式(也会在冲突中输入):
此存储库是为Git LFS配置的,但在您的路径中找不到“git-lfs”。如果您不再希望使用Git LFS,请删除.git / hooks / post-checkout以删除此挂钩。无法分离头部
您应该在继续之前解决此错误。 Git告诉你该怎么做。
edit
模式允许修改提交消息,如reword
模式,还允许修改文件内容。因此,Git让您处于可以提交更改然后使用git rebase --continue
继续变基的状态。
reword
) in the edit
mode如果您只想编辑提交消息并继续重新定位,请运行
git commit --amend
这将打开编辑器以允许您编辑提交消息。完成后,运行
git rebase --continue
一旦我保存文件,Git,而不是像往常一样向我显示下一个rebase窗口为该提交选择一个新名称,它将自己放入并通知我一个具有该提交的分离的HEAD状态,这也显示在
git status
上从那时开始的命令,直到我输入git checkout master
。
这不是留下未完成的rebase的正确方法,你应该使用
git rebase --abort
代替。