错误地将其推送到主节点后将更改推送到其他分支

时间:2018-09-19 23:18:26

标签: git

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

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

2 个答案:

答案 0 :(得分:1)

听起来像是您在错误的分支上做了一些事情?好吧.....没有那么困难。

结帐本地要素分支。挑选您在主数据库上提交的更改。假设是最后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

足够了。

答案 1 :(得分:1)

您需要强制推送到较旧的参考文献:

git push -f origin last_commit:branch_name

然后,您可以将更改推送到功能分支。确保没有其他试图在要删除的提交之上构建的用户。