git rebase如何消除先前已合并到master的提交?

问题描述 投票:0回答:1

在我的拉取请求中(将分支X合并到主服务器上,我看到已经合并到主服务器的提交A,B和C。

已建议我重新设定分支推力的基准。

我做了git rebase -i HEAD~3,因为第4次提交是对master的合并。然后,我无法使用--allow-empty推送到远程。

在我的新PR中(将X合并到master中,我仍然看到旧的合并提交。

我应该如何重新设置基础,然后推送到我的分支X?

谢谢!

git rebase
1个回答
0
投票

插图或某些git log --decorate --oneline --graph输出(以纯文本格式)将改善您的问题。我做出了一些我认为合理的假设。

您通常不需要使用交互式资源库,而您想要的是:

git fetch                   # make sure origin/* are up to date
git checkout X              # get onto your local branch, if needed
git rebase origin/master    # copy the commits, except for the merge

然后您的git push,假设您的分支X也在origin上也作为分支X,则为:

git push --force-with-lease origin X

--force-with-lease选项在某些非常老的Git版本中不可用;如果您有其中之一,请使用普通的-f,但这会绕过--force-with-lease提供的安全检查。

© www.soinside.com 2019 - 2024. All rights reserved.