首页 > 解决方案 > 在 git pull 请求之后我该如何做 git rebase?

问题描述

我有一个麻烦 git rebase。因为,我已经将我的本地代码推送到了 origin dev。而且,我向“上游”发送拉取请求。但是,有 1 个 PR 和 7 个提交,如下图所示 在此处输入图像描述

我想将 7 次提交压缩到 1 次提交。

我该怎么办?

(我尝试过:'git rebase -i HEAD~7',但我遇到了消息'错误:无法变基:您有未暂存的更改。')

标签: githubrebasesquash

解决方案


根据我的评论,您必须在变基之前提交、存储或丢弃所有更改。如果您的更改已完成,您很可能希望提交它们(git add --all后跟git commit)。

如果它们不完整,但您想稍后继续处理它们,请使用git stash保存未完成的更改,同时重置为 HEAD。执行你的变基,然后用git stash pop.

相反,放弃所有更改,git reset --hard HEAD就可以了;reset取消暂存您的更改,--hard丢弃它们,并HEAD指定您要重置的提交。然后,您应该能够重新设置基准。

值得注意的是,存储或重置不会影响未跟踪的文件。要包含这些文件,您必须首先使用git add.


推荐阅读