如何运行git rebase交互模式以删除重复的提交

时间:2012-04-04 20:04:50

标签: git git-rebase git-interactive-rebase

当我最近提交时,我犯了一个错误。 (我首先忘记了“git fetch --all”,然后是rebase),并且我已经提交并推送到远程分支。现在我通过先获取,解决了冲突并推送到远程分支来正确地完成了rebase。现在,似乎我最近的所有提交都出现了两次。我想做的是使用git rebase交互模式,选择我想要的所有提交,然后正确地重新绑定到提交sha代码。 这是这样做的方法吗?如果我启动git rebase -i,我应该使用哪个sha代码,原始分支点sha代码?还是最新的沙码? 谢谢,

大卫

2 个答案:

答案 0 :(得分:8)

给git rebase返回提交次数。历史上的10次回复:

git rebase -i HEAD~10

然后,只需在显示的文本编辑器中删除要删除的提交的行。保存文件并退出将启动rebase,并且一旦rebase完成,已删除的行将不再出现在历史记录中。

答案 1 :(得分:1)

我成功删除了重复的提交。这是我做的:硬重置到分支点,从原点拉,启动git rebase -i SHACODE(原始分支点),选择我想要保留的提交,git rebase到当前的SHACODE。