首页 > 解决方案 > 错误推送到 master 后将更改推送到不同的分支

问题描述

我的意思是将我的更改提交到本地“功能”分支并将它们推送到相应的远程“功能”分支。但相反,我不小心将更改提交到本地“master”分支,并将更改推送到远程“master”分支。

如何撤消推送到“主”(本地和远程)的更改,并将这些相同的更改推送到预期的“功能”分支(本地和远程)?

标签: git

解决方案


听起来你在错误的分支上做了一些事情?好吧......这并不难。

结帐本地功能分支。Cherry-pick 您在 master 之上提交的更改。说,这是最后 2 次提交git cherry-pick master~2..master。然后将您的本地功能推送到远程功能。然后将主指针重定向到正确的位置git branch -f master master~2。然后推到掌握正确的位置:git push -f whatever-remote master。应该这样做。

对原始问题的原始答复

我猜你有一个解决这个问题的本地分支,对吧?您错误地推入 master 的分支。让我们称之为分支-a

git push whatever-remote branch-a # if you want the remote branch to be called branch-a as well git push whatever correct-revision-id:master # revert master to where it was

这应该足够了。


推荐阅读