git rebase无效

时间:2013-09-06 08:32:07

标签: git github

我在当地的回购邮件中做了一些提交,并将它们推送到了在线仓库。

然后我意识到有很多提交,我想把它们压成小块。最好是second last onefirst one。即保持当前提交并压缩所有其他提交。

当我做的时候

 git rebase -i origin/branch_name

弹出noop的窗口。我没有看到任何pick。我该怎么办?

2 个答案:

答案 0 :(得分:2)

当我收到noop消息时,通常意味着git rebase -i参数中使用的分支超出了签出分支。

git log A..B
# prints the commits between A's head and B's head

git log B..A
# prints nothing

git status
# On branch A

git rebase -i B
# got 'noop' because there are no commits in the log above

在这种情况下,交换两个受影响的分支会有所帮助。

git checkout B
git rebase -i A

答案 1 :(得分:0)

rebase命令的参数是您想要压缩的提交范围。在你的情况下,可能是这样的:

git rebase -i <sha-1 for first commit>..HEAD^

(HEAD ^是分支机构负责人的父提交。)

然后,您通过pick

替换交互式脚本中的squash命令