重写历史后,Git没有正确推送

时间:2016-03-24 23:42:39

标签: git

我的回购非常线性

c1-->c2-->c3

我在c2犯了一个错误,所以我想回去修理它,我用了

git rebase -i c2

我对c2进行了更改,然后

git add <whatever-files-changes>
git commit --amend --no-edit
git rebase --continue

最后,我做了一次推力

git push origin <mybranch> -f

我期待我刚推到的远程分支上的以下内容:

c1-->c2+change-->c3

但是,我的远程分支现在看起来像:

c1-->c2-->c3+change

在这个过程中我做错了什么?

1 个答案:

答案 0 :(得分:2)

使用git rebase -i c2,您可以使用c2作为基础,从c2开始更改历史记录,实际上不会更改历史记录,因此您的更改会显示在c3中。如果您想更改c2尝试使用c1作为新基础进行变基。