Git:交互式rebase列出不正确(太多)提交

时间:2014-10-15 00:25:39

标签: git git-interactive-rebase

当我运行git rebase -i HEAD~2时,它列出了11个提交而不是2.为什么?

在此之前我所做的是:

  1. 签出了上游/ branchA
  2. 使用主
  3. 重新发布了我的新本地branchA副本
  4. 试图将我的本地分支机构A推回上游
    • Git抱怨分支机构不同步,并首先进入上游
  5. 将上游/分支A拉入本地分支A
  6. 将本地分支A推送到上游/分支A(成功)

2 个答案:

答案 0 :(得分:8)

这取决于git树的外观。例如,“merge”提交可以有两个或更多个父项。根据这一点,您的提交可以有多个祖父母。

您可能需要使用

进行变基
git rebase -i HEAD^1^2
git rebase -i HEAD^2^1
git rebase -i HEAD^2^2

(这三者中的一个)。

有关git相对提交表示法的详细信息,请参阅here

答案 1 :(得分:1)

我通过首先与master进行基础调整,然后在其余的提交中进行了修正

git rebase master
git rebase -i HEAD~n