我正在尝试使用git rebase,但我遇到了一个noop错误

我正在尝试使用git rebase,但我遇到了一个noop错误,git,github,noop,Git,Github,Noop,然而,我已经成功地将我的测试分支合并到我的主分支 当我尝试使用git-rebase时,我得到了一个错误noop 我不能重新安排我的任务 这是我的git日志的结果,请忽略最后一行代码 这不是一个错误,也不完全是。它只是告诉您,您已经请求了复制“无提交”的操作,然后更新当前分支,作为处理空提交列表中所有零个提交的结果 请记住,git-rebase通过复制提交来工作,就像通过git-cherry-pick一样。也就是说,git-rebase意味着: 查找由于某些原因不够好的一组提交 使用该提交列

然而,我已经成功地将我的测试分支合并到我的主分支

当我尝试使用git-rebase时,我得到了一个错误noop

我不能重新安排我的任务

这是我的git日志的结果,请忽略最后一行代码

这不是一个错误,也不完全是。它只是告诉您,您已经请求了复制“无提交”的操作,然后更新当前分支,作为处理空提交列表中所有零个提交的结果

请记住,
git-rebase
通过复制提交来工作,就像通过
git-cherry-pick
一样。也就是说,
git-rebase
意味着:

  • 查找由于某些原因不够好的一组提交
  • 使用该提交列表,导航到一个特定的提交,然后开始复制
  • 复制所有提交后,移动当前分支名称,使其指向最后一个复制的提交,从而放弃任何不再可查找的未复制提交
使用
-i
将提交列表转换为一系列
拾取
命令,并在生成的命令表上打开编辑器。每个
pick
命令都会选择一个原始提交,以创建新副本。在您的情况下,列表为空,因此没有要执行的
pick
命令。在过去,对于这种情况,
git-rebase-i
只是失败(中止),这显然是错误的。现在
git-rebase-i
设置one
noop
命令。如果删除命令表中的所有命令,则将中止重新基准

要使列表不为空,您需要位于一个分支上,该分支的某些提交不在
master
上。请注意,在Git中,许多提交都同时在多个分支上:我们通常给
Git rebase
的任务是移动某些分支上的提交,这些分支通常不是
master
,因此它们在其他提交之后,通常是
master
上的提交。这在技术上是不可能的:提交不能以任何方式更改、更改或移动,因此,通过复制提交,然后放弃原始提交,转而使用在新点出现的新副本,来实现重新基址:

...--o--o--o   <-- master
      \
       *--*--*   <-- branch-A (HEAD)

…--o--o--o请粘贴问题中的所有文本,而不是链接到图片。我已经用git rebase-i HEAD~4找到了一个解决方案
             *--*--*   <-- branch-A (HEAD)
            /
...--o--o--o   <-- master
      \
       *--*--*   [abandoned]