3

我在我的本地 repo 中做了一些提交,并将它们也推送到了在线 repo。

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

当我做

 git rebase -i origin/branch_name

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

4

2 回答 2

4

当我收到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
于 2014-01-16T12:02:33.217 回答
0

rebase 命令的参数是要压缩的提交范围。在您的情况下,可能类似于:

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

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

然后,pick将交互式脚本中的命令替换为squash

于 2013-09-06T08:43:15.437 回答