【问题标题】:How to run git rebase interactive mode to remove duplicate commits如何运行 git rebase 交互模式以删除重复提交
【发布时间】:2012-04-04 20:04:50
【问题描述】:

当我变基到最近的提交时,我犯了一个错误。 (我先是忘记git fetch --all,然后是rebase),从那以后我已经提交并推送到远程分支。现在我通过先获取正确地进行了 rebase,解决了冲突,然后推送到远程分支。现在,似乎我最近的所有提交都出现了两次。我想做的是使用 git rebase 交互模式,选择我想要的所有提交,然后正确地 rebase 到提交 sha 代码。

这是这样做的方法吗?如果我开始git rebase -i,我应该使用哪个sha代码,原始分支点sha代码?还是最新的 sha 代码?

【问题讨论】:

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


    【解决方案1】:

    及时给 git rebase 提交的数量。对于历史上的 10 次提交:

    git rebase -i HEAD~10
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-05
        • 2015-06-25
        • 2023-02-08
        • 2011-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-31
        相关资源
        最近更新 更多