首页 > 解决方案 > 压缩您拉出的分支上的所有提交

问题描述

我正在开发一个功能分支,我已经向其中推送了一些提交。我的机器出现问题,必须重新安装并拉出远程分支才能继续解决该问题。当我尝试压缩所有提交时,问题就出现了。如果尝试

git rebase -i master

我只有在全新安装后才会提交。如果我在第一次提交该分支之前尝试使用提交的 SHA,我有其他提交属于我不想修改的其他分支。如果我尝试指定提交次数,则同样适用

git rebase -i HEAD~10

(我在分支中有 10 个提交)

我已经尝试了我在类似帖子中遇到的所有内容,包括

soft --reset

但在这种情况下似乎没有任何效果我该如何解决这个问题

标签: gitpull-requestgit-squash

解决方案


听起来您已经将本地分支合并到主分支中:

  • 当您重新定位到主分支时,您的功能分支中的一些提交不会在编辑器中列出。这表明这些提交已经合并到主分支中。

  • 当您从功能分支重新定位到特定 SHA 并且您看到来自其他分支的大量提交时,这表示它们已经包含在您当前的分支中。

我建议使用像Fork这样的图形化 Git 客户端,或者使用git log --oneline --graph, 来查看提交历史,看看是否有一些你没有预料到的分支合并了。

如果您可以显示提交历史记录,那么有人可能会显示如何恢复。在不确定发生了什么的情况下,我们可能会猜错您应该运行哪些命令,并意外导致更多问题。


推荐阅读